{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import tushare as ts\n",
    "from six import StringIO\n",
    "from six import BytesIO\n",
    "from funcat import *\n",
    "import re\n",
    "import time\n",
    "\n",
    "def main_1_1():\n",
    "# 1.1 当下时间\n",
    "    from datetime import datetime, date\n",
    "    from datetime import timedelta\n",
    "\n",
    "    now = datetime.now()\n",
    "    #print(now.strftime('%Y-%m-%d %h:%m:%s'))\n",
    "\n",
    "    #str 年+月+日\n",
    "    data_time_end=\"{}\".format(time.localtime( time.time())[0]) +\"{}\".format(time.localtime( time.time())[1])+\"{}\".format(time.localtime( time.time())[2])                                                               #以昨天为基点，需要手动输入\n",
    "    data_time_start_1=(datetime.now() - timedelta(days=30))\n",
    "    #str 年+月+日\n",
    "    data_time_start=data_time_start_1.strftime(\"%Y\")+data_time_start_1.strftime(\"%m\")+data_time_start_1.strftime(\"%d\")\n",
    "    \n",
    "    ts.set_token('ed67d0dc90bea781f7a39a408eeeb423b4166de60ef3d9108b38ed1c')\n",
    "    pro = ts.pro_api()\n",
    "    i_time_day= pro.daily(ts_code='000001.SZ', start_date=data_time_start, end_date=data_time_end)['trade_date'][0]#（时间30天左右）\n",
    "    data_txt_name=\"{}\".format(time.localtime( time.time())[0])+\"_\"+\"{}\".format(time.localtime( time.time())[1])+\"_\"+\"{}\".format(time.localtime( time.time())[2])+\".txt\"   \n",
    "    #输出 end star name\n",
    "    return i_time_day ,data_time_start,data_txt_name\n",
    "def main_1_2(name):\n",
    "    #1下载数据，保存到本地\n",
    "    df_gp_today=ts.get_today_all()             #读取today实时数据\n",
    "    #df_gp_today.info()                         #显示数据类型\n",
    "    csv_data=pd.DataFrame(df_gp_today)\n",
    "    csv_data['code']=csv_data ['code'].astype(str).str.zfill(6)                            #————————补缺\n",
    "    csv_data=csv_data.loc[:, ~csv_data.columns.str.contains('^Unnamed')].drop_duplicates() #去掉Unnamed 并且去重\n",
    "    csv_data=csv_data[~csv_data.name.str.contains('ST')]                                  #洗掉ST\n",
    "    csv_data=csv_data[~csv_data['open'].isin([0])]               #过滤开盘为0\n",
    "    csv_data=csv_data[csv_data[\"turnoverratio\"]>1.5]                    #换手率大于2.5\n",
    "    csv_data.to_csv(name,encoding = \"utf-8\")         #对数据进行本地保存\n",
    "    return csv_data\n",
    "def main_1_3(data):\n",
    "    import time\n",
    "    ts.set_token('ed67d0dc90bea781f7a39a408eeeb423b4166de60ef3d9108b38ed1c')\n",
    "    pro = ts.pro_api() \n",
    "    \n",
    "    ##去新股及没有数据\n",
    "    csv_data=pd.DataFrame(data)\n",
    "    data_lishi_temp = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date').rename(columns={'symbol':'code'})\n",
    "    df_rev=pd.merge(csv_data,data_lishi_temp[['code','list_date','ts_code']],how='inner',on='code')\n",
    "\n",
    "    data_time_end='20190618'                                                               #以昨天为基点，需要手动输入\n",
    "    data_time_start='20190603'                                                             #————时间可以优化\n",
    "    i_time_day= pro.daily(ts_code='000001.SZ', start_date=data_time_start, end_date=data_time_end)['trade_date']#----------后期可以因end 而改进（时间30天左右）\n",
    "    \n",
    "    for i_code in df_rev['ts_code']: \n",
    "    ##接口限制访问200次/分钟，加一点微小的延时防止被ban\n",
    "        time.sleep(0.401)                                                               #__________时间可以优化\n",
    "    #计算天数 ,除掉 停牌 新股等，用天数作为判断量\n",
    "        i_time_day_code= pro.daily(ts_code=i_code, start_date=data_time_start, end_date=data_time_end)['trade_date']\n",
    "        \n",
    "        #删除前天没RSI的\n",
    "        if len(i_time_day_code)<=len(i_time_day)-1:\n",
    "        #删除/选取某列含有特定数值的行\n",
    "            #df1=df_rev[df_rev['ts_code'].isin([i_code])]\n",
    "            #print(i_code)\n",
    "            continue\n",
    "        today_price = df_rev.loc[df_rev['ts_code'] ==i_code, 'trade']\n",
    "        print(i_code,today_price)\n",
    "#去sh、sz结尾\n",
    "        i_code_temp=i_code.strip('.SH')\n",
    "        i_code_temp=i_code_temp.strip('.SZ')\n",
    "    \n",
    "    #coda正则化，加结尾\n",
    "        if re.match(r'^(3|0).*',i_code_temp):\n",
    "            i_code_temp=i_code_temp+'.XSHE'\n",
    "        if re.match(r'^6.*',i_code_temp):\n",
    "            i_code_temp=i_code_temp+'.XSHG' \n",
    "        if re.match(r'^9.*',i_code_temp) :\n",
    "            continue\n",
    "       \n",
    "    #funcat开始\n",
    "        S(i_code_temp)\n",
    "        T(data_time_end)\n",
    "        r1,r2,r3=RSI(N1=6, N2=12, N3=24)\n",
    "        print(i_code_temp,C,C[1],C[2],r1)\n",
    "        #（1）首先把df1中的要加入df2的一列的值读取出来，假如是'date'这一列\n",
    "    #date = CLOSE\n",
    "    #（2）将这一列插入到指定位置，假如插入到第一列\n",
    "    #df_rev.insert(19,'choose',date)\n",
    "    #（3）默认插入到最后一列\n",
    "    #df_rev['choose'] = data\n",
    "#def ATR(M1=14):\n",
    "    #TR=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW))\n",
    "    #ATR=MA(TR,M1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20190619 20190520 2019_6_19.txt\n",
      "[Getting data:]############################################################603998.SH 0    6.72\n",
      "Name: trade, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "i_time_day,data_time_start,data_txt_name=main_1_1()\n",
    "print(i_time_day,data_time_start,data_txt_name)\n",
    "csv_data=main_1_2(data_txt_name)\n",
    "main_1_3(csv_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import tushare as ts\n",
    "from six import StringIO\n",
    "from six import BytesIO\n",
    "from funcat import *\n",
    "import re\n",
    "import time                                         #防止被ban\n",
    "\n",
    "import talib\n",
    "\n",
    "#2从本地取出，清洗\n",
    "      #读取本地数据     ++(,encoding = \"utf-8\")       \n",
    "data=pd.read_csv('2019_6_19.txt')             #转化\n",
    "csv_data=pd.DataFrame(data)\n",
    "csv_data['code']=csv_data ['code'].astype(str).str.zfill(6)\n",
    "ts.set_token('ed67d0dc90bea781f7a39a408eeeb423b4166de60ef3d9108b38ed1c')\n",
    "pro = ts.pro_api()  \n",
    "\n",
    "data_lishi_temp = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date').rename(columns={'symbol':'code'})\n",
    "df_rev=pd.merge(csv_data,data_lishi_temp[['code','list_date','ts_code']],how='inner',on='code')\n",
    "\n",
    "data_time_end='20190618'                                                               #以昨天为基点，需要手动输入\n",
    "data_time_start='20190603'                                                             #————时间可以优化\n",
    "i_time_day= pro.daily(ts_code='000001.SZ', start_date=data_time_start, end_date=data_time_end)['trade_date']#----------后期可以因end 而改进（时间30天左右）\n",
    "print(i_time_day)\n",
    "for i_code in df_rev['ts_code']: \n",
    "    ##接口限制访问200次/分钟，加一点微小的延时防止被ban\n",
    "    time.sleep(0.301)                                                               #__________时间可以优化\n",
    "    #计算天数 ,除掉 停牌 新股等，用天数作为判断量\n",
    "    i_time_day_code= pro.daily(ts_code=i_code, start_date=data_time_start, end_date=data_time_end)['trade_date']\n",
    "        #删除前天没RSI的\n",
    "    if len(i_time_day_code)<=len(i_time_day)-1:\n",
    "        #删除/选取某列含有特定数值的行\n",
    "            #df1=df_rev[df_rev['ts_code'].isin([i_code])]\n",
    "            #print(i_code)\n",
    "        continue\n",
    "    today_price = df_rev.loc[df_rev['ts_code'] ==i_code, 'trade']\n",
    "    today_high = df_rev.loc[df_rev['ts_code'] ==i_code, 'high']\n",
    "    today_low = df_rev.loc[df_rev['ts_code'] ==i_code, 'low']\n",
    "    today_v = df_rev.loc[df_rev['ts_code'] ==i_code, 'volume']\n",
    "#去sh、sz结尾\n",
    "    i_code_temp=i_code.strip('.SH')\n",
    "    i_code_temp=i_code_temp.strip('.SZ')\n",
    "    \n",
    "    #coda正则化，加结尾\n",
    "    if re.match(r'^(3|0).*',i_code_temp):\n",
    "        i_code_temp=i_code_temp+'.XSHE'\n",
    "    if re.match(r'^6.*',i_code_temp):\n",
    "        i_code_temp=i_code_temp+'.XSHG' \n",
    "    if re.match(r'^9.*',i_code_temp) :\n",
    "        continue\n",
    "       \n",
    "    #funcat开始\n",
    "    S(i_code_temp)\n",
    "    T(data_time_end)\n",
    "    #RSI\n",
    "    r1,r2,r3=RSI(N1=6, N2=12, N3=24)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0     20190619\n",
      "1     20190618\n",
      "2     20190617\n",
      "3     20190614\n",
      "4     20190613\n",
      "5     20190612\n",
      "6     20190611\n",
      "7     20190610\n",
      "8     20190606\n",
      "9     20190605\n",
      "10    20190604\n",
      "11    20190603\n",
      "Name: trade_date, dtype: object\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-1-27c939a687ae>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     55\u001b[0m     \u001b[0mT\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata_time_end\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     56\u001b[0m     \u001b[1;31m#RSI\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 57\u001b[1;33m     \u001b[0mr1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mr2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mr3\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mRSI\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mN1\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m6\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN2\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m12\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN3\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m24\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     58\u001b[0m     \u001b[0mRSI_today_a\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMAX\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtoday_price\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mCLOSE\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mSMA\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMAX\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mREF\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m6\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m6\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     59\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi_code_temp\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mr1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mRSI_today\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\indicators.py\u001b[0m in \u001b[0;36mRSI\u001b[1;34m(N1, N2, N3)\u001b[0m\n\u001b[0;32m     68\u001b[0m     \u001b[0mRSI\u001b[0m \u001b[0m相对强弱指标\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     69\u001b[0m     \"\"\"\n\u001b[1;32m---> 70\u001b[1;33m     \u001b[0mLC\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mREF\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     71\u001b[0m     \u001b[0mRSI1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSMA\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMAX\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mLC\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mSMA\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mABS\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mLC\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m*\u001b[0m \u001b[1;36m100\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     72\u001b[0m     \u001b[0mRSI2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSMA\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMAX\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mLC\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mSMA\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mABS\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCLOSE\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mLC\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mN2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m*\u001b[0m \u001b[1;36m100\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\func.py\u001b[0m in \u001b[0;36mRef\u001b[1;34m(s1, n)\u001b[0m\n\u001b[0;32m    188\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    189\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mRef\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 190\u001b[1;33m     \u001b[1;32mreturn\u001b[0m \u001b[0ms1\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mn\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    191\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    192\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\time_series.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, index)\u001b[0m\n\u001b[0;32m    369\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mtime_series\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    370\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 371\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mseries\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mseries\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mseries\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextra_create_kwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    372\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    373\u001b[0m     \u001b[1;33m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\time_series.py\u001b[0m in \u001b[0;36mseries\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    373\u001b[0m     \u001b[1;33m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    374\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mseries\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 375\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_ensure_series_update\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    376\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMarketDataSeries\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mseries\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    377\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\time_series.py\u001b[0m in \u001b[0;36m_ensure_series_update\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    349\u001b[0m             \u001b[1;31m# TODO: cache\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    350\u001b[0m             \u001b[0mfreq\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_freq\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_freq\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0mExecutionContext\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_current_freq\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 351\u001b[1;33m             \u001b[0mbars\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mget_bars\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfreq\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    352\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbars\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    353\u001b[0m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_series\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbars\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\time_series.py\u001b[0m in \u001b[0;36mget_bars\u001b[1;34m(freq)\u001b[0m\n\u001b[0;32m     18\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     19\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m         \u001b[0mbars\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata_backend\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_price\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0morder_book_id\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstart\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstart_date\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mend\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcurrent_date\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfreq\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfreq\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     21\u001b[0m     \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     22\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\funcat\\data\\tushare_backend.py\u001b[0m in \u001b[0;36mget_price\u001b[1;34m(self, order_book_id, start, end, freq, **kwargs)\u001b[0m\n\u001b[0;32m     58\u001b[0m         \u001b[1;31m# else W M\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     59\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 60\u001b[1;33m         \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mts\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_k_data\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcode\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstart\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstart\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mend\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mend\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mis_index\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mktype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mktype\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     61\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     62\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mfreq\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"m\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\tushare\\stock\\trading.py\u001b[0m in \u001b[0;36mget_k_data\u001b[1;34m(code, start, end, ktype, autype, index, retry_count, pause)\u001b[0m\n\u001b[0;32m    695\u001b[0m                                        \u001b[0msymbol\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcode\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    696\u001b[0m                                        \u001b[0mindex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mktype\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 697\u001b[1;33m                                        retry_count, pause), \n\u001b[0m\u001b[0;32m    698\u001b[0m                            ignore_index=True)\n\u001b[0;32m    699\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mktype\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mct\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mK_MIN_LABELS\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\tushare\\stock\\trading.py\u001b[0m in \u001b[0;36m_get_k_data\u001b[1;34m(url, dataflag, symbol, code, index, ktype, retry_count, pause)\u001b[0m\n\u001b[0;32m    716\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    717\u001b[0m                 \u001b[0mrequest\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mRequest\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0murl\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 718\u001b[1;33m                 \u001b[0mlines\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0murlopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrequest\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    719\u001b[0m                 \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlines\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m100\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m#no data\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    720\u001b[0m                     \u001b[1;32mreturn\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\urllib\\request.py\u001b[0m in \u001b[0;36murlopen\u001b[1;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[0;32m    221\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    222\u001b[0m         \u001b[0mopener\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_opener\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 223\u001b[1;33m     \u001b[1;32mreturn\u001b[0m \u001b[0mopener\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0murl\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    224\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    225\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0minstall_opener\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mopener\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\urllib\\request.py\u001b[0m in \u001b[0;36mopen\u001b[1;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[0;32m    524\u001b[0m             \u001b[0mreq\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmeth\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    525\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 526\u001b[1;33m         \u001b[0mresponse\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_open\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    527\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    528\u001b[0m         \u001b[1;31m# post-process response\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\urllib\\request.py\u001b[0m in \u001b[0;36m_open\u001b[1;34m(self, req, data)\u001b[0m\n\u001b[0;32m    542\u001b[0m         \u001b[0mprotocol\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mreq\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtype\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    543\u001b[0m         result = self._call_chain(self.handle_open, protocol, protocol +\n\u001b[1;32m--> 544\u001b[1;33m                                   '_open', req)\n\u001b[0m\u001b[0;32m    545\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    546\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\urllib\\request.py\u001b[0m in \u001b[0;36m_call_chain\u001b[1;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[0;32m    502\u001b[0m         \u001b[1;32mfor\u001b[0m \u001b[0mhandler\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mhandlers\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    503\u001b[0m             \u001b[0mfunc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhandler\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmeth_name\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 504\u001b[1;33m             \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    505\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    506\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\urllib\\request.py\u001b[0m in \u001b[0;36mhttp_open\u001b[1;34m(self, req)\u001b[0m\n\u001b[0;32m   1344\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1345\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mhttp_open\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1346\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdo_open\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhttp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mHTTPConnection\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1347\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1348\u001b[0m     \u001b[0mhttp_request\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mAbstractHTTPHandler\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdo_request_\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\urllib\\request.py\u001b[0m in \u001b[0;36mdo_open\u001b[1;34m(self, http_class, req, **http_conn_args)\u001b[0m\n\u001b[0;32m   1316\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1317\u001b[0m                 h.request(req.get_method(), req.selector, req.data, headers,\n\u001b[1;32m-> 1318\u001b[1;33m                           encode_chunked=req.has_header('Transfer-encoding'))\n\u001b[0m\u001b[0;32m   1319\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m# timeout error\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1320\u001b[0m                 \u001b[1;32mraise\u001b[0m \u001b[0mURLError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0merr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\http\\client.py\u001b[0m in \u001b[0;36mrequest\u001b[1;34m(self, method, url, body, headers, encode_chunked)\u001b[0m\n\u001b[0;32m   1237\u001b[0m                 encode_chunked=False):\n\u001b[0;32m   1238\u001b[0m         \u001b[1;34m\"\"\"Send a complete request to the server.\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1239\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_send_request\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0murl\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mbody\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mheaders\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1240\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1241\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_send_request\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0murl\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mbody\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mheaders\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_send_request\u001b[1;34m(self, method, url, body, headers, encode_chunked)\u001b[0m\n\u001b[0;32m   1283\u001b[0m             \u001b[1;31m# default charset of iso-8859-1.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1284\u001b[0m             \u001b[0mbody\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_encode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbody\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'body'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1285\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mendheaders\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbody\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mencode_chunked\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1286\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1287\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mgetresponse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\http\\client.py\u001b[0m in \u001b[0;36mendheaders\u001b[1;34m(self, message_body, encode_chunked)\u001b[0m\n\u001b[0;32m   1232\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1233\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mCannotSendHeader\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1234\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_send_output\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmessage_body\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mencode_chunked\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mencode_chunked\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1235\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1236\u001b[0m     def request(self, method, url, body=None, headers={}, *,\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_send_output\u001b[1;34m(self, message_body, encode_chunked)\u001b[0m\n\u001b[0;32m   1024\u001b[0m         \u001b[0mmsg\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34mb\"\\r\\n\"\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_buffer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1025\u001b[0m         \u001b[1;32mdel\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_buffer\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1026\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1027\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1028\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mmessage_body\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\http\\client.py\u001b[0m in \u001b[0;36msend\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m    962\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msock\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    963\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mauto_open\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 964\u001b[1;33m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconnect\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    965\u001b[0m             \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    966\u001b[0m                 \u001b[1;32mraise\u001b[0m \u001b[0mNotConnected\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\http\\client.py\u001b[0m in \u001b[0;36mconnect\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    934\u001b[0m         \u001b[1;34m\"\"\"Connect to the host and port specified in __init__.\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    935\u001b[0m         self.sock = self._create_connection(\n\u001b[1;32m--> 936\u001b[1;33m             (self.host,self.port), self.timeout, self.source_address)\n\u001b[0m\u001b[0;32m    937\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msock\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msetsockopt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msocket\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mIPPROTO_TCP\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msocket\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTCP_NODELAY\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    938\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\socket.py\u001b[0m in \u001b[0;36mcreate_connection\u001b[1;34m(address, timeout, source_address)\u001b[0m\n\u001b[0;32m    711\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0msource_address\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    712\u001b[0m                 \u001b[0msock\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource_address\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 713\u001b[1;33m             \u001b[0msock\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconnect\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msa\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    714\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0msock\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    715\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import tushare as ts\n",
    "from six import StringIO\n",
    "from six import BytesIO\n",
    "from funcat import *\n",
    "import re\n",
    "import time                                         #防止被ban\n",
    "\n",
    "import talib\n",
    "\n",
    "      #读取本地数据     ++(,encoding = \"utf-8\")       \n",
    "data=pd.read_csv('2019_6_19.txt')             #转化\n",
    "csv_data=pd.DataFrame(data)\n",
    "print(csv_data)\n",
    "csv_data['code']=csv_data ['code'].astype(str).str.zfill(6)\n",
    "ts.set_token('ed67d0dc90bea781f7a39a408eeeb423b4166de60ef3d9108b38ed1c')\n",
    "pro = ts.pro_api()  \n",
    "\n",
    "data_lishi_temp = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date').rename(columns={'symbol':'code'})\n",
    "df_rev=pd.merge(csv_data,data_lishi_temp[['code','list_date','ts_code']],how='inner',on='code')\n",
    "\n",
    "data_time_end='20190619'                                                               #以昨天为基点，需要手动输入\n",
    "data_time_start='20190603'                                                             #————时间可以优化\n",
    "i_time_day= pro.daily(ts_code='000001.SZ', start_date=data_time_start, end_date=data_time_end)['trade_date']#----------后期可以因end 而改进（时间30天左右）\n",
    "print(i_time_day)\n",
    "for i_code in df_rev['ts_code']: \n",
    "    ##接口限制访问200次/分钟，加一点微小的延时防止被ban\n",
    "    time.sleep(0.301)                                                               #__________时间可以优化\n",
    "    #计算天数 ,除掉 停牌 新股等，用天数作为判断量\n",
    "    i_time_day_code= pro.daily(ts_code=i_code, start_date=data_time_start, end_date=data_time_end)['trade_date']\n",
    "        \n",
    "        #删除前天没RSI的\n",
    "    if len(i_time_day_code)<=len(i_time_day)-1:\n",
    "        #删除/选取某列含有特定数值的行\n",
    "            #df1=df_rev[df_rev['ts_code'].isin([i_code])]\n",
    "            #print(i_code)\n",
    "        continue\n",
    "    today_price = df_rev.loc[df_rev['ts_code'] ==i_code, 'trade']\n",
    "    today_high = df_rev.loc[df_rev['ts_code'] ==i_code, 'high']\n",
    "    today_low = df_rev.loc[df_rev['ts_code'] ==i_code, 'low']\n",
    "    \n",
    "    today_v = df_rev.loc[df_rev['ts_code'] ==i_code, 'volume']\n",
    "#去sh、sz结尾\n",
    "    i_code_temp=i_code.strip('.SH')\n",
    "    i_code_temp=i_code_temp.strip('.SZ')\n",
    "    \n",
    "    #coda正则化，加结尾\n",
    "    if re.match(r'^(3|0).*',i_code_temp):\n",
    "        i_code_temp=i_code_temp+'.XSHE'\n",
    "    if re.match(r'^6.*',i_code_temp):\n",
    "        i_code_temp=i_code_temp+'.XSHG' \n",
    "    if re.match(r'^9.*',i_code_temp) :\n",
    "        continue \n",
    "    #funcat开始\n",
    "    S(i_code_temp)\n",
    "    T(data_time_end)\n",
    "    #RSI\n",
    "    r1,r2,r3=RSI(N1=6, N2=12, N3=24)\n",
    "    RSI_today_a=(MAX((today_price-CLOSE),0)+5*SMA(MAX(CLOSE - REF(CLOSE, 1), 0), 6, 1))/6\n",
    "    print(i_code_temp,r1,RSI_today)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sh600928\n"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "import sys\n",
    "import pandas as pd\n",
    "future_code = 'sh600928'#sz002307,sh600928\n",
    "url_str = ('https://quotes.sina.cn/cn/api/json_v2.php/CN_MarketDataService.getKLineData?symbol='+future_code+'&scale=30&ma=no&datalen=100')\n",
    "r = requests.get(url_str)\n",
    "r_json = str(r.json())\n",
    "a=str(\"sh600928\")\n",
    "print(a)\n",
    "with open(a,\"w\",encoding=\"utf-8\") as f:\n",
    "    f.write(r_json)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Expected object or value",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-4-1ba2bb0a50b4>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mdf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_json\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"sh600928.json\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mencoding\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"utf-8\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'records'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\pandas\\io\\json\\json.py\u001b[0m in \u001b[0;36mread_json\u001b[1;34m(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit, encoding, lines)\u001b[0m\n\u001b[0;32m    352\u001b[0m         obj = FrameParser(json, orient, dtype, convert_axes, convert_dates,\n\u001b[0;32m    353\u001b[0m                           \u001b[0mkeep_default_dates\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mprecise_float\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 354\u001b[1;33m                           date_unit).parse()\n\u001b[0m\u001b[0;32m    355\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    356\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mtyp\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'series'\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mobj\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\pandas\\io\\json\\json.py\u001b[0m in \u001b[0;36mparse\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    420\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    421\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 422\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_parse_no_numpy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    423\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    424\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mobj\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda5.0\\lib\\site-packages\\pandas\\io\\json\\json.py\u001b[0m in \u001b[0;36m_parse_no_numpy\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    650\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    651\u001b[0m             self.obj = DataFrame(\n\u001b[1;32m--> 652\u001b[1;33m                 loads(json, precise_float=self.precise_float), dtype=None)\n\u001b[0m\u001b[0;32m    653\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    654\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m_process_converter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfilt\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mValueError\u001b[0m: Expected object or value"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df = pd.read_json(\"sh600928.json\",encoding=\"utf-8\", orient='records')\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2292e972128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# -*- coding: utf-8 -*-\n",
    " \n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    " \n",
    " \n",
    "plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体\n",
    "plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题\n",
    " \n",
    "x = np.linspace(-8, 8, 1024)\n",
    "y1 = 0.618 * np.abs(x) - 0.8 * np.sqrt(64 - x ** 2)\n",
    "y2 = 0.618 * np.abs(x) + 0.8 * np.sqrt(64 - x ** 2)\n",
    "plt.plot(x, y1, color='r')\n",
    "plt.plot(x, y2, color='r')\n",
    "plt.title(\"爱你一万年\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20bfb57eeb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#先引入后面可能用到的包（package）\n",
    "import pandas as pd  \n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "#正常显示画图时出现的中文\n",
    "from pylab import mpl\n",
    "#解决中文显示问题\n",
    "plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体\n",
    "plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题\n",
    "import seaborn as sns  #画图用的\n",
    "import tushare as ts\n",
    "#Jupyter Notebook特有的magic命令\n",
    "#直接在行内显示图形\n",
    "%matplotlib inline  \n",
    "\n",
    "#构建一个计算股票收益率和标准差的函数\n",
    "#默认起始时间为'2020-01-01'\n",
    "def return_risk(stocks,startdate='2020-01-01'):\n",
    "    close=pd.DataFrame()\n",
    "    for stock in stocks.values():\n",
    "        close[stock]=ts.get_k_data(stock,ktype='D', \n",
    "     autype='qfq', start=startdate)['close']\n",
    "    tech_rets = close.pct_change()[1:]\n",
    "    rets = tech_rets.dropna()\n",
    "    ret_mean=rets.mean()*100\n",
    "    ret_std=rets.std()*100\n",
    "    return ret_mean,ret_std\n",
    "\n",
    "#画图函数\n",
    "def plot_return_risk():\n",
    "    ret,vol=return_risk(stocks)\n",
    "    color=np.array([ 0.18, 0.96, 0.75, 0.3, 0.9,0.5])\n",
    "    plt.scatter(ret, vol, marker = 'o', \n",
    "    c=color,s = 500,cmap=plt.get_cmap('Spectral'))\n",
    "    plt.xlabel(\"日收益率均值%\")     \n",
    "    plt.ylabel(\"标准差%\")\n",
    "    for label,x,y in zip(stocks.keys(),ret,vol):\n",
    "        plt.annotate(label,xy = (x,y),xytext = (20,20),\n",
    "            textcoords = \"offset points\",\n",
    "             ha = \"right\",va = \"bottom\",\n",
    "            bbox = dict(boxstyle = 'round,pad=0.5',\n",
    "            fc = 'yellow', alpha = 0.5),\n",
    "                arrowprops = dict(arrowstyle = \"->\",\n",
    "                    connectionstyle = \"arc3,rad=0\"))\n",
    "stocks={'上证指数':'sh','深证指数':'sz','沪深300':'hs300',\n",
    "        '上证50':'sz50','中小板指数':'zxb','创业板指数':'cyb'}\n",
    "plot_return_risk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x229331655f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "stocks={'中国平安':'601318','格力电器':'000651',\n",
    "        '招商银行':'600036','贵州茅台':'600519',\n",
    "        '比亚迪':'002594','华友钴业':'603799'}\n",
    "startdate='2020-01-01'\n",
    "plot_return_risk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.018744500895258965"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=ts.get_k_data('sh',ktype='D', autype='qfq', \n",
    "                 start='2020-01-01')\n",
    "df.index=pd.to_datetime(df.date)\n",
    "tech_rets = df.close.pct_change()[1:]\n",
    "rets = tech_rets.dropna()\n",
    "#rets.head()\n",
    "#下面的结果说明，我们95%的置信，一天我们不会损失超过0.0264...\n",
    "rets.quantile(0.05)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x20bfbd85c18>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nFqlCFOwi1Z+mskVERCJEI2YRKaSsUXlaWtopaolIzaQRs4iISIQomEVERCJEU9kiUi6a6hY5uTRi\nFhERiRAFs4iISIQomEVERCJEwSwiIhIhCmYREZEIUTCLiIhEiIJZREQkQhTMIiIiEaJgFhERiRDd\n+UtEKpTuDCZyYjRiFhERiRAFs4iISIQomEWkRjl27FhlN0GkVApmEamWjh49Wuj5xx9/zMGDBxk+\nfHip78vKymL+/PkA3HnnnWzdujVmvVmzZrFu3ToAVq1axVtvvRWz3rp16zhy5AgAmzZtKvEa++rV\nq5k2bRoA77//PmPGjCm1naXZs2cPCxYsYNeuXce9Dak8CmYRqbLWrVtHeno6ffv2ZePGjbzyyiuM\nGTOGRx99lNmzZxeqm5GRwV//+lf27t3L66+/zksvvUR6ejq33nproXrz589nz549HDlyhC+//JKV\nK1fG3Hft2rVxdwD+/ve/k5OTw8svv1ys3ssvv8zy5csBePvtt+nWrVvM7c2bN4+UlBT279/Pxx9/\nzPr167nnnnvIzMws12eSnZ3NkCFDWL58Ob1792bnzp35r2VlZZGcnAxATk4OgwYNon///lx77bUc\nOnQov07Pnj3L3M/69eu55ppr8p+/8847dOjQgdTUVK688spytVkKUzCLSJV14YUXkpSUxC9/+Us6\ndOhAo0aNSEpK4owzzqBr16759Xbv3s37779P8+bNueyyyxgyZAgrV65k2LBh1KtXL7/ekSNHWLJk\nCTfccAMzZ85kzJgxtGnThieeeCI/hPM0bNiQRo0asXv3btydzz//nDVr1hRrY5s2bWjZsiWHDh0i\nPT2d3NxcHnroIZ5++un8OgcOHCAzM5OuXbuyYcMG1q9fz5gxY3jggQdo3bp1uT6TtWvX8uSTT/Lg\ngw8yYMCAQicW9957L7m5uQA8//zzjB49mvnz59OyZUvmzZtHdnY2w4cP58CBA6Xu45NPPuFXv/oV\nOTk5+WXLly/nqaeeYtGiRSXOHkh8FMwiUmXl5OTw7rvvkpmZydSpU3nxxRdp0aIFycnJvP322/n1\nmjdvTu/evXnhhReoVasWAKeddhorVqwoFHwzZsygbt26bNy4kR07dtC+fXtWrVpF48aNGTJkCGvX\nrmX37t1MnDiRSZMm8corr5Cbm0uzZs144403ePjhhwu1b+PGjbz++us89dRTvPXWWzz00EMMHTqU\n++67r1CIP/300/nBn5WVRUJCAtu2bSM1NbXcn8kVV1xB9+7dWbx4McuXL6dHjx5AMKpv2LAhLVu2\nBGDkyJH069cPgJ07d5KUlEStWrVIT08nISGh1H00btyYl156qVDZsmXLGDduHMnJyYVOOqT8FMwi\nUiXt3buXpUuXkpubS9++fenZsydnn302K1eupHHjxtStW7dQ/WPHjtGnTx9q1w5u35Cbm0uDBg0w\nMwC2bNnCxRdfTPPmzdm7dy89evRgzpw5rFy5kjvvvJO5c+fSuXNnmjdvzj333MP27dtp1aoVrVu3\nZuPGjQwaNIgbb7yRhQsX5i8w69ChA9dffz0jR44kNTWV7OxsFi5cSEJCAvXr1weCEW5qairt2rUD\nyG9fx44di00pZ2ZmFgv/WNyd9PR0mjZtSp06dTh06BDjxo1jwoQJxeouXbqU7OxsunfvTkJCAk2a\nNClz+0lJSZx++umFym655RYWL17M0qVLeeaZZ9i9e3eZ25HYFMwiUiUlJiYycOBAGjRowLe+9S1a\nt25NYmIiDRo04LTTTqNOnToAHDx4kG3btrF69WqOHDnCp59+yj/+8Q9yc3P55JNP8hdmtWvXjuTk\nZOrVq0dKSgq5ubmce+65NGvWrNi+Z82axYABAzAzfv3rX3PzzTfTvXt3kpOT2b59Oxs2bMiv+/77\n77N8+XLq16/PBRdcwFdffcWBAwfyA7hz585ceuml+WHeoEEDDh06xMGDB2ncuHGh/bZu3Zpx48aV\n+dmYGZMnT6Zz587MmTOHCRMmMHLkSBITEwvV27NnD3fffTczZswoxycfW95JT7169ejUqRNbtmw5\n4W3WVApmEanSvv76aw4fPkz9+vVp0qQJLVu2ZMeOHfTt2xeAzz//nLlz57J48WJSU1Np3Lgxl112\nGS1btmTIkCHs27ev0PbyrsGuWrWK5OTkYqu7P/zwQ5o3b84555zDwIEDSUhIYNmyZSQmJjJz5kyu\nuuoqOnXqxOHDhxk8eDBXXHEFN910E+np6Tz77LNcffXVbNq0qdjINCsrCwhGzHXq1MkPufKaOHEi\nzz33HBDMKiQmJrJw4UImT55Mamoqq1ev5vbbb+fQoUMMHTqU3/72t7Rt27bc+ynI3bn88svZv38/\nWVlZrFq1ig4dOpzQNmuyUoPZzGqb2TYzWxT+910zG2tm75nZ5AL1ipWJiJxsH374Ie+99x5169bl\no48+4quvvmLUqFEsWbKEOXPmAMFI+PzzzyctLY1OnTrxi1/8gldffZWhQ4eyY8cOtm3bVmibu3bt\nYtu2bfTr1486deoUWuAEwfT097//fb744guaNGlC37592bp1K++88w4//vGPSUpKAqBOnTq89tpr\n+ScIw4YN49FHH2XBggXce++9xaap9+7dS3p6Os8//zw7duzgvffew8y4//77efPNN4H4prJHjBjB\nrFmz6NWrF0ePHqV///4sXryYRYsWsWjRIrp27cq0adOYPn06K1euZPz48aSmppKenh5zexkZGUyf\nPr3UfZoZ99xzD8nJyQwcOJAnnngirilxic2KrjQs9KLZRcAwd78/fN4NeBzoC/wGeBfILlrm7gtL\n22lKSopnZGRUSAfkOITX1Iop5WdBKkZZ95GuCSr6XtlfffUVDRo0IDMzs9BCrg8//JDzzjuvWP1P\nP/2UtWvXMnjwYN5//33uv/9+Xn/99fzXP/vsM1q1apX/fMGCBfmLpApas2YNXbp04ejRo+zbt6/Y\nNHFJvv76a6ZPn86oUaMKlW/YsIGOHTvGtQ2pmsxshbunlFmvjGAeCYwCDgD/BD4C9rv7FDPrDgwC\ncoCvC5a5e7F/eWY2AhgB0KZNm24lfWlfTgEFc6VRMFf+H7HIzc3NX3gFwaKw007TVT05+eIN5rJ+\nGt8D+rr7JUAdoD6Q9233PcCZQMMYZcW4+1R3T3H3lBYtWsTRBRGRilcwlAGFskROWX/2ca27Hwwf\nZ/BNOAM0Igj2/THKRERE5DiUFaKzzKyLmdUCfkAwOr48fK0LsAVYEaNMREREjkNZI+ZHgf8CDJgD\nPAYsMbM/AgPD/7YCvy1SJlIj6RqyiJyoUoPZ3dcBnQuWmVlfYDDwR3ffXFKZiIiIlF9ZI+Zi3D0X\n+O+yykRERKT8tFBLREQkQhTMIiIiEaJgFhERiRAFs4iISIQomEVERCJEwSwiIhIhCmYREZEIUTCL\niIhEiIJZREQkQhTMIiIiEaJgFhERiRAFs4iISIQomEVERCJEwSwiIhIh5f6zjyI12dixYyu7CSJS\nzWnELCIiEiEKZhERkQhRMIuIiESIgllERCRCFMwiIiIRomAWERGJEAWziIhIhCiYRUREIkTBLCIi\nEiEKZhERkQhRMIuIiERItbxX9pYtW2jXrl1lN6PSbdq0ifbt21d2M0QKKet+42lpaaeoJSLRVO1G\nzBMnTmTlypWV2oY9e/awYMECdu3aVWrZyfbII4/w0UcfnbL9iYjIiatWwbxlyxY+/fRTrrvuOgBu\nu+02evT19otKAAASqUlEQVTowWOPPVbiezZv3szgwYPp2bMn99xzT4ll8crOzmbIkCEsX76c3r17\ns3PnzphlOTk5DBo0iP79+3Pttddy6NAhALKysujZs2ep+zh8+DBXX301l112GTNmzMgvX79+Pddc\nc03+80mTJjFu3LhytV9ERCpXtZrKnjVrFqNGjQLg5Zdf5ujRoyxdupRbb72VDRs20LFjx2Lvuf/+\n+3n44Yfp3r07w4YNY9GiRUyZMqVYWWpqalxtWLt2LU8++STdu3cnOzublStXUq9evWJln3zyCaNH\nj6Zfv37cddddzJs3j549ezJ8+HAOHDhQ6j6eeuopunXrxiOPPMJVV13F0KFD2bFjB7/61a/Yv39/\nfr3ExETOPvtstm3bRps2beL/IGsw/VlHEalsVW7EvGvXLvr06UNqaiqXXXYZixYtyn/tk08+4fzz\nzwdg0aJF/OhHPwKgf//+vPPOOzG39/HHH3PRRRcBkJSURE5OTsyyeF1xxRV0796dxYsXs3z5cnr0\n6BGzbOTIkfTr1w+AnTt3kpSURK1atUhPTychIaHUfRTsW69evcjIyKBx48a89NJLxepeeumlrF69\nOu72i4hI5apywTx16lSuu+46Fi1aVGqAHThwgNatWwPQrFkzsrKyYta7/vrrGTt2LK+99hrz5s3j\nyiuvjFkGkJmZycMPP1xmG92d9PR0mjZtSp06dUosA1i6dCnZ2dl0796dhIQEmjRpUub2Y/UtKSmJ\n008/vVjd+vXrk5ubW+Y2RUQkGqpcMG/bto0LLrgAgK5duxZ6rX79+vlTuY0aNcoPpP3793Ps2LGY\n23vooYcYNGgQ06ZNY/jw4TRq1ChmGUDr1q3jumZrZkyePJnOnTszZ86cEsv27NnD3XffXeg6cTzi\n7RsE18vPOeeccm1fREQqT5UL5vbt2/PPf/4TgBUrVhR67aqrrsqfzu3WrVv+9PWaNWtK/fpU165d\n2bZtG6NHjy61LB4TJ07kueeeA2Dv3r0kJibGLDt06BBDhw7lt7/9LW3bti3XPsrTt0WLFnHppZeW\na/siIlJ5qlww33HHHcyZM4fevXtz8ODBQq8NGTKEuXPnsmPHDn7wgx8wa9YsRo8ezezZsxk8eDBb\nt25lwoQJxbb5xBNPMHr0aBo0aFBqWTxT2SNGjGDWrFn06tWLo0eP0r9//5hl06dPZ+XKlYwfP57U\n1FTS09Njbi8jI4Pp06cXKhs+fDhpaWn8/Oc/54MPPigxeF944QX69OlDrVq1Sm2ziIhEh7n7Kd9p\nSkqKZ2RknPB2HnnkEVJTUwutmN6+fTuLFy/mxhtvJDs7mwULFtCrVy9atmx5wvuLks8++4x33nmH\nAQMGlHhd+vHHH+e+++4r/oJZ7I1Wws9C1GhVduXTDUakujKzFe6eUma9qhzMcpwUzCVSMFc+BbNU\nV/EGc5WbyhYREanOFMwiIiIRomAWERGJkLiC2czONLNV4ePpZrbUzB4q8HqxMhERESm/eEfMvwPq\nm9l1QC137wG0N7OOscpOVmNFRESquzKD2cz6AAeAL4BUYHb40nzg8hLKRERE5DiUGsxmVhd4GHgg\nLGoIZIaP9wBnllAWa1sjzCzDzDJ27tx5ou0WERGplsoaMT8ATHH3veHz/UD98HGj8P2xyopx96nu\nnuLuKS1atDixVouIiFRTZQVzX2CUmS0CugJX881UdRdgC7AiRpmIiIgch9qlvejuvfIeh+H8fWCJ\nmbUCBgHdAY9RJiIiIsch7u8xu3uqu39JsNhrGdDb3XNilZ2MhoqIiNQEpY6YY3H3bL5ZhV1imYjI\n8SjrfuW6l7ZUd7rzl4iISIQomEVERCJEwSwiIhIhCmYREZEIUTCLiIhEiIJZREQkQhTMIiIiEaJg\nFhERiRAFs4iISIQomEVERCJEwSwiIhIhCmYREZEIUTCLiIhEiIJZREQkQhTMIiIiEaJgFhERiRAF\ns4iISIQomEVERCJEwSwiIhIhtSu7ASIi5TF27NhSX09LSztFLRE5OTRiFhERiRAFs4iISIRoKltq\nlLKmQUVEKptGzCIiIhGiYBYREYkQBbOIiEiEKJhFREQiRMEsIiISIQpmERGRCFEwi4iIRIiCWURE\nJEIUzCIiIhGiYBYREYkQBbOIiEiEKJhFREQiRMEsIiISIQpmERGRCFEwi4iIRIiCWUREJEIUzCIi\nIhFSO55KZtYM6AascvddJ7dJIiLHb+zYsaW+npaWdopaInJ8yhwxm1lT4HXgEuAfZtbCzKab2VIz\ne6hAvWJlIiIiUj7xTGV3Bka7+3jgTaAPUMvdewDtzayjmV1XtOzkNVlERKT6KnMq293fBjCzXgSj\n5mbA7PDl+cDlQHKMsg0Ft2NmI4ARAG3atKmApouIiFQ/cS3+MjMDhgHZgAOZ4Ut7gDOBhjHKCnH3\nqe6e4u4pLVq0ONF2i4iIVEtxLf5ydwdGmdk44Hrgz+FLjQjCfT9Qv0iZyClV1qIfEZGqIJ7FX/eb\n2c/Cp4nABIKpaoAuwBZgRYwyERERKad4RsxTgdlmdjuwDngVWGxmrYBBQHeC6e0lRcpERESknOJZ\n/JUN9CtYZmapYdnj7p5TUpmIiIiUT1zXmIsKw3p2WWUiIiJSPlqkJSIiEiEKZhERkQhRMIuIiESI\ngllERCRCFMwiIiIRomAWERGJEAWziIhIhCiYRUREIkTBLCIiEiEKZhERkQhRMIuIiESIgllERCRC\nFMwiIiIRomAWERGJEAWziIhIhCiYRUREIkTBLCIiEiEKZhERkQhRMIuIiESIgllERCRCFMwiIiIR\nomAWERGJEAWziIhIhNSu7AaIiJxKY8eOLbNOWlraKWiJSGwaMYuIiESIRsxSZcQz0hERqeo0YhYR\nEYkQBbOIiEiEKJhFREQiRMEsIiISIQpmERGRCFEwi4iIRIiCWUREJEIUzCIiIhGiYBYREYkQBbOI\niEiEKJhFREQiRMEsIiISIQpmERGRCNFflxIRKaKsv2Smv9csJ1OZI2Yza2JmfzOz+Wb2ipnVNbPp\nZrbUzB4qUK9YmYiIiJRPPFPZNwFPunt/4AvgBqCWu/cA2ptZRzO7rmjZyWuyiIhI9VXmVLa7Tynw\ntAXwE+AP4fP5wOVAMjC7SNmGgtsxsxHACIA2bdqcUKNFRESqq7gXf5lZD6Ap8CmQGRbvAc4EGsYo\nK8Tdp7p7iruntGjR4oQaLSIiUl3FFcxm1gx4CrgV2A/UD19qFG4jVpmIiIiUUzyLv+oCLwJj3H0r\nsIJgqhqgC7ClhDIREREpp3i+LnUbcBHwoJk9CMwEfmpmrYBBQHfAgSVFykRERKSc4ln89QzwTMEy\nM5sD9AMed/ecsCy1aJmIiIiUz3HdYMTds/lmFXaJZSIiIlI+WqQlIiISIQpmERGRCNG9siUyyro/\nsYhITaARs4iISIQomEVERCJEwSwiIhIhCmYREZEIUTCLiIhEiIJZREQkQhTMIiIiEaJgFhERiRAF\ns4iISIQomEVERCJEwSwiIhIhCmYREZEIUTCLiIhEiIJZREQkQhTMIiIiEaJgFhERiZDald0AEZGq\nZuzYsaW+npaWdopaItWRRswiIiIRomAWERGJEAWziIhIhCiYRUREIkTBLCIiEiFalS2nTFkrWUVE\nRCNmERGRSFEwi4iIRIiCWUREJEIUzCIiIhGiYBYREYkQBbOIiEiEKJhFREQiRMEsIiISIQpmERGR\nCFEwi4iIRIiCWUREJEIUzCIiIhGiP2IhFUZ/pEJE5MRpxCwiIhIhcQWzmZ1pZkvCx3XM7DUze9fM\nbi2pTERERMqvzGA2s6bAX4CGYdHdwAp3vwy43swal1AmIiIi5RTPiPkoMAz4MnyeCswOHy8GUkoo\nK8TMRphZhpll7Ny58wSaLCIiUn2VGczu/qW75xQoaghkho/3AGeWUFZ0O1PdPcXdU1q0aHFirRYR\nEammjmdV9n6gPpADNAqfxyoTEamRyvqGQlpa2ilqiVRFxxPMK4DLgf8GugDLSigTEZEYFNxSmuMJ\n5r8Ab5hZT+A7wP8RTGMXLZNqRt9TFhE5+eL+HrO7p4b/3wr0A94F+rr70VhlJ6GtIiIi1d5x3fnL\n3T/jm1XYJZaJiIhI+ejOXyIiIhGiYBYREYkQBbOIiEiEKJhFREQiRMEsIiISIQpmERGRCFEwi4iI\nRMhxfY9ZREROHt2ys2bTiFlERCRCFMwiIiIRomAWERGJEAWziIhIhCiYRUREIkTBLCIiEiH6upTk\nK+srGiISDfo6VfWmEbOIiEiEKJhFREQiRMEsIiISIQpmERGRCFEwi4iIRIiCWUREJEIUzCIiIhGi\nYBYREYkQBbOIiEiE6M5fNUje3YJ0TyARkejSiFlERCRCFMwiIiIRomAWERGJEAWziIhIhGjxVzWi\nP9soIlL1acQsIiISIRoxVxEaDYtIvMr6fZGWpi9NRpmCWUSkhonnRF/hXXk0lS0iIhIhGjGLiEgx\nmg6vPBoxi4iIRIhGzBGhxV0iUpVoRH3yKJhFROSUU7CXTFPZIiIiEaIRc5w01SwiEj/9zjx+FRrM\nZjYd+A4w190fq8hti4iI5DnR4I/yVHmFBbOZXQfUcvceZjbDzDq6+4aK2n5ZTvR6hc7uRESi42T/\nTo7yNW5z94rZkNkkYJ67v2FmNwD13X1mgddHACPCp52Aj8q5izOAXRXS2KqjpvW5pvUXal6fa1p/\noeb1uab1F+Lvc1t3b1FWpYqcym4IZIaP9wAXFXzR3acCU49342aW4e4px9+8qqem9bmm9RdqXp9r\nWn+h5vW5pvUXKr7PFbkqez9QP3zcqIK3LSIiUiNUZHiuAC4PH3cBtlTgtkVERGqEipzKfhVYYmat\ngEFA9wrcNpzANHgVVtP6XNP6CzWvzzWtv1Dz+lzT+gsV3OcKW/wFYGZNgX7AYnf/osI2LCIiUkNU\naDCLiIjIiYnMAi0za2Zm/czsjMpuy6lQtL81of81rc/VvX9F1bT+Qs3rc03rL1ROnyMRzOEU+OvA\nJcA/zKytmf3NzOab2StmVtfMapvZNjNbFP733fC9Y83sPTObXKmdKIcY/W0R4zlmNt3MlprZQwXe\nW6ysKoinzzXgGGNmZ5rZqgL1qsUxjqe/1en4Quw+x9u/qtjncvR3dYGyfmHZHWa2ysxeMLM6ldiN\ncinl53qKmV1doF6F/juOyr2yOwOj3X1Z+EH8AHjS3ReY2TPAQGA78IK735/3JjPrRrAS/BLgN2bW\n190XVkL7y6tof0cWeX6RmTWkyJ3UgO8WLTuVd1c7QWX2GdhJ9T3GFwFvAr8j/FqhxbhbHlX3GJfZ\n37BOdTm+ULzPtxJH/4DsomVVpM/x9Lc58KG731CgrBUwCrgUuAEYDkw7pS0/fsV+rs3sK6Clu78G\nJ+ffcSRGzO7+dtjxXgQ/rDPdfUH4cgtgB8Eq7yFmtjw8E6kNXAG85MGF8jeBnpXR/vKK0d/fF3m+\nFEgFZodvmU/wDzlWWZUQZ5+r8zFeamZ9gANA3sLIVKrJMY6zv9Xm+ELMPucSX/+qZJ/j7O+lwCVm\n9r9m9qqZNSY47vPd/SBVqL8Qs8/LgD8DW8zsmrBaKhX87zgSwQxgZgYMIzibPByW9QCauvsy4D2g\nr7tfAtQBrqL43cbOPNXtPl5F+xuj/7H6VmX7C3H1uTofYwMeBh4oUKVaHeM4+lutji8U6/Mq4utf\nle1zHP3dBAxw9+8Ba4FbqML9hWJ9/gnwAfA4wQnI3ZyEYxyZYPbAKIKD+X0zawY8RTBdArDW3T8P\nH2cAHanCdxsr2t+iz4ndtyrbX4irz9X5GP8CmOLuewtUqVbHOI7+VqvjC8X63CrO/lXZPsfR303A\nxiJlVba/UKzP/wpMDb8O/J9Ab07CMY7EB2Rm95vZz8KnicBe4EVgjLtvDctnmVkXM6tFcA16DVX0\nbmMx+tsuRv9j9a1K9hfi7nN1PsYDgVFmtgjoambTqEbHOM7+VpvjCzH7/Kc4+1cl+xxnf8cDeYui\nrqf6HeNngfbh8xRgKyfhGEfie8zhRfXZwOnAOuCfwL8RHFSAZ4D3gf8imCKb4+4PmtlpwBKCM7OB\nwEB333yKm19uMfr7YJHno4DGBH17i2/upOZFy9w951S3/3jE2ecLqL7HeFR4TREzW+TuqWaWQDU5\nxnH290KqyfGFmH1+BnieMvpH8Mu8yvU5zv6eRXAXyIYE60ZGuvthM/tvgqng7sAId19aGX0orxh9\nvh+YQTA1XYfg5GMfFfzvOBLBfCLMrD4wGFjp7psquz0VyWLcSS1WWXWnY1y9VefjC7H7V937XFQ4\nqh4CfOLu6yq7PRWtov8dV/lgFhERqU4icY1ZREREAgpmERGRCFEwi4iIRIiCWUREJEIUzCIiIhHy\n/wF70KcjSctfOgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20bfbb82c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def monte_carlo(start_price,days,mu,sigma):\n",
    "    dt=1/days\n",
    "    price = np.zeros(days)\n",
    "    price[0] = start_price\n",
    "    shock = np.zeros(days)\n",
    "    drift = np.zeros(days)\n",
    "\n",
    "    for x in range(1,days):\n",
    "        shock[x] = np.random.normal(loc=mu * dt,\n",
    "                scale=sigma * np.sqrt(dt))\n",
    "        drift[x] = mu * dt\n",
    "        price[x] = price[x-1] + (price[x-1] *\n",
    "                (drift[x] + shock[x]))\n",
    "    return price\n",
    "#模拟次数\n",
    "runs = 10000\n",
    "start_price = 3418.33 #今日收盘价\n",
    "days = 60\n",
    "mu=rets.mean()\n",
    "sigma=rets.std()\n",
    "simulations = np.zeros(runs)\n",
    "\n",
    "for run in range(runs):\n",
    "    simulations[run] = monte_carlo(start_price,\n",
    "      days,mu,sigma)[days-1]\n",
    "q = np.percentile(simulations,1)\n",
    "plt.figure(figsize=(8,6))\n",
    "plt.hist(simulations,bins=50,color='grey')\n",
    "plt.figtext(0.6,0.8,s=\"初始价格: %.2f\" % start_price)\n",
    "plt.figtext(0.6,0.7,\"预期价格均值: %.2f\" %simulations.mean())\n",
    "plt.figtext(0.15,0.6,\"q(0.99: %.2f)\" %q)\n",
    "plt.axvline(x=q,linewidth=6,color=\"r\")\n",
    "plt.title(\"经过 %s 天后上证指数模拟价格分布图\" %days,weight=\"bold\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "经过250000次模拟，得出1年以后上证指数的预期平均收盘价为：3593.67\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmcAAAF/CAYAAAAM3256AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VGXe//H3nU56IZUkhJCEHrr0pnRBBQUs4NpWXV37\nPo+r7trW9nOfLa5t1bUXkG6huApSlV4SEkIS0iCk915m7t8fZ4IBEkibEOT7ui4uycwp3zkHnA93\nO0prjRBCCCGE6BpsLnYBQgghhBDiFxLOhBBCCCG6EAlnQgghhBBdiIQzIYQQQoguRMKZEEIIIUQX\nIuFMCCGEEKILkXAmRCdQSvlY4ZjDlVJDW1ODUiqwjedyUkrNucA2EUqpQY1+fkQpdVcLjn2nUqpP\nK+vxu8D7g5RSI5t4/X+VUt2b2SesNTWcta+nUuqKFm47v633oQXH7tXCa96p18ey/3m/b5RS7kop\n1Y7j91BKzVRKObT1GEJ0FRLOhOgcz5/vS1MpNUopNa2Vx7QFliilHJRSGy3Hma+UuqOZ7c2WOgKV\nob9Savh5anJRSu1TSrkBkcDflFIPKqUmN7OLB/CbRj8fBRxb8Dm8galKqdFKqVHN1NK7ITQopWyB\nPUop5/Mcsw6Ybdk+UCn1rlLKBZgJLFBK9Wpin2+aCybNUUr1tPy2BljfwnAxGbj+Ase9RSn14Vmv\nXaeUylBKHVVKDWtm14eBIUqpp5VSH1uuVVM66/q4W/4bDHx5gc1/DzzfaN9wpdRjSinXJo77V6XU\nbUqp25VSjyqlfgtMtXymda2pUYiuSMKZEJ3jKMYX4vneX6iUsgNQSoUqpWYrpV5USq1SSvVoYp88\nIFdrXQukWr6gooCvz26pU0pNB/yAAuAPgC8wBGiytUcpNRZ4CIgD5mF86T0OfA3saGL76wFnIM3y\nszfGF/2N5wkSDY4Bw4AI4FQz2zgCf7P8/rfANuBjpVRzX/g5QJFSygu4CfAH7gJWA6u11qlN7LNf\na51vqX+C5RqglLpLKTW4mfN8o5TyBYKBIuBzpdQNzX9UALKAZKVUd6XUjUqp3o3ftLRQvgmoRq/5\nAf8BZgFzgHfPPqhSagGgMe6vHXBYa21qpgarXR+lVB+l1P1KqZuBfUqpGcB4oEQp9ZpSKqSJ2t0x\n/uy+qJR6QCn1DPC0pTaPJmrxAD4HkoH+wCFgLfAIYN/MZxbikiHhTIjOUQEUNvem1rpUa/1brXW9\nUsoe6AssAGK01tdrrTMbb28JcYOBeUqpfhjB7z9a61cwvrj+eNYpfsJooYrCCENFwDjgE6VUN8s5\nG/MCEoCfLT8XYHyBPwj8pJQKP2v7q4EAjIA5WWtdCGwGXgcOWkLA+a7NeuB7oK9S6neWVpHT4URr\nHa+1/o1Sqj8wWGt9K2ACnj3rutgqpSZaPv/NQBiwEXgPOIwRXh5upo4qpdRUy+9jgT9ZrnM4cEYX\noDK6iJ8GHDDC0BTgJPBbrfXKsw+slHrV0spzIxANjAEmAlcCK87a/HbgL2e9NgP4Xmsdp7U+DmQo\npaIaHd8R4x7/C/gEcNVa/72JOjrj+pwEIrTWX2AE+c3AcOAejD/XZ/wjRSnlZKnlWcBBa/068ALG\nPybmnf1n36IYqAeus9T/ATDOEkabCpZCXFIknAnROTQwWyn1L6XUl0qp6IY3lFI2SqnFSqnfAGit\n67TW/wU20cTfUUtLzcNAT+AbjNaqGGCHUioW+AzjC6the1eML/z/w+gK3Y7RcuYNPAH8HWg8ViwA\no8XiR6AaCAUqtNbvYLScbcYIYg3bj8AIfQ8CXwE1Sql7ML5c7wSWAT8opWZath9v+bxPKqVexQgK\nNwC3AUHACYxg2HD8F5VScy0/pgCvK6XWAAla66NNXGcboBb4VGt9ECME+Vp+JVvea3w9XZVSjwID\nMELPbUCJ1nq21roecLVc519OonWB1vp5y7U4gRFic7TWFTTNGziqtV4G7Ac2aK1XY4ScV87a9gaM\nMNxYMMY9bpCO0dLYUE+NJcTMxwhZtpauv/6dfX0s1yBHKfUP4L/AWIzWwreBf2mts8+qqVZr/W+M\n8NbQJf8qRvfk40qpmxoH9Ub8gE8xAu5WrfV6y+v1TWwrxCXF7mIXIMRlZIXWenPjFyzdVbdhjAdz\ntrw2HyOE1AHTlVJjgKe11sUAWus84P8s3YXPYXzxfwmswWiZCOPMrscKjC/kuzG6gKYDmcCtwOda\n64Vn1ekJ/Buj27MHRpfieKVUiNb6VWDLWdv3BSYAkzC+6PdiBJBulnNsA77UWjcExlKM0LdMa52i\nlLrd8lk/100/7Pc5IFQp5aC1rra0wpVgjK260RJ4sFwbs1Jqp+Wz9lNKaYxA+QBGiB0DPNX44Frr\ncuDvSqm+GF2JI4FVSqlarXUNRitUThN1NXyWjRitojXNbANG0O1haSXyxrieI4FFGN2JjevRTWQR\nW4zWzgYVGPcJAEvr6a0YLZB9MP4s+ABvWoLNGuADrXWZta+PUspFa/2KUuozIFFrfUApVYwROvOU\nUv/VWtc1Or7ZUr8b8IxS6ingK631NmWMg3sX48/i443KUlrrHKVUpOVadFdKvQi8ZblWQlzSpOVM\niM5zzpe31jrXEngOA/ssL9cCAzEC2zKt9YMNwQxAGX6H0Z221dJi8ilGy0YWRlfPlY1O0w/4EJgL\nHLGcC4wWj3O6jLTWCVrrHcBVgLPW+s8YX9zezXyuLzAmAtwEHMTootoAPAmUAx9aWokajh+jtV6p\ntU6xvJSG0UX5lWWc0tn11ALdAR+l1LUY49/uxAg285RSPyilFiqlGsYm3YXRSvOd1votIBtjvNYN\nQCLwR0vrT8P1dFRKPQv00FofwxiPFQgMtLQiNtsdjREExmP8v/R8Ywp3Y1z/mzFaB3MxQtF0rXXC\nefZrUESjMIYRfM2W+vtafn4O4372Be7D+DNwCPh/WuvXtNZlln2tfX3+poyJHUXG7qo7cCNGgM/D\nmMxxc0NXuqUl+DaM7siewGtAkqX79Tbgz5zb9VunlJqA0dq3xvI5UzBa6WS2prjkScuZEJ2n9jzv\nuQEnLK1ChRhfMLac1UVjGVu0EaOl7E8YX6hgfOlFYvydTgSOW7YPwggxORiD/x2AKoyxSR9gDKI+\ng6Ub9EYgCZillFqNEbqeaKb2jy31rADstdafKGMW6N+AP2utmxvk30BjXJvfYAzy36C1Pt1KZGlt\nmo8R+MIxuspuwGghysMIGoWASRlLcsRZPm8fS1fqYIzwVwh8pLWubnRsH4xu3vv5ZWZpMPA7rfUj\nSqn/A8xKqYla621nXSdvwAXjmv4vMEAptRwjfGUCNzcMyNdaJyul7tNaV1r2O6K1Tr/AdWlsH0ZI\naTACI5SgtU6wfO6HgHiMgJ4FrLK0bDWuuTOuTwxQhtGqCEYY3IoRTPtgtLyWAP5KqSqMCSd/An6v\ntU5SSo3GmPiwGFgCpDUK8g3stNbbLTXeizH5YYvl53MCvhCXGglnQliRUqobxtiYUMDTMtYsAKPl\noRR41dIq1htjeYXnMQKZD0ZrUbTly8oL+LelG3Cm1rpGGWucNQzkr8QIW/4YLV52AFrrU0qpF7TW\ndcpYpyoU+B/ACaNrcQxntUporcuVUtkYrRgNrRkngU+VUqeAPRjdlmnasMTyWW8DMiyHeRWjpfCc\nZRCa4GucVhcB1zTx/lvAf7XWP1q6v3oCn1m6w45hjGNKtNSQqLU+poyB69Va641Kqe8wxtX9EaNV\n50mtdYnlsxYopQZprU3KmHGKpeZnlFKzMELG34GdltbKAxghyM5yTUIxWqDeVUr9AaM7LqmpD6m1\nrrT81owRhlpjDxCpjOVYbDDGm+1pdOxjSqkqrfU3lm5xB+AKy5+3/zQKada+PoXAaIwxjBswQn1v\nwFtr/aklaDtqrdeB8Y8Ny7WzxQi6aK13AbuUUuFa65+auR6NW3E3Ao8qpXZhtF6eMxtUiEuNhDMh\nOpgyFsF8DaMbKhujFSUZoyurFKMLxtHyq2F8zASMsTXdgHv5ZZB/BkYrhx2W7iNLMLO1nOMty/51\nGC1P9RitDW831GMJZm4YX35+GK0SJZbzPK6MNdL+V2sd06j+GIwZiKst+/hZjruYX5bfyMZohWvQ\nzfJaw3vRGC1dF9IH40u8OYcwxmyB0TI0Bbje0qV2sCGYWT5rw5g1WyBbKRWKsfTEO1rr40qpz4H9\nSql/YYSWSkvwuAMjRKC1vlkpdSXgprV+znJNrgbqtdZVWAbwK2Ow/VyMSQFYavxZKdVfa517ns9T\nz/m7QM9hGYd2LUaLpztwvaW7F0stCzFasOwwQn2l1nq7Umoc8BjwUmdcH4zQv0pr/VWj2jZgrK9n\njxG+n2n0uRpC4wCgXik1z1K/FxCulHoJI4jVA081hEZguOW4nhhjNV0x/nFThNGNL8QlTTU9/lYI\n0ZmUUqFa64wLb3nGPoFAfuPB1ZbXJzd08TTabiywXWudq5Tq2bhLzfLF6gN8q7UutISz6RjdT8Mx\nJgfcqLU+zHkopdwajWtCGQP9p2mtz9vNpIx1wQ5qY4mIC31mb4wxXkcwgmF543M22k4BttqYTXj2\ne34YAeBEw76W7uLBWus9Z2/fTB09gWuBtxqfQyn1R2Cd1jr2PPveCazXWme15FwtrMdFa12hjEkG\nK4E5DTUopZQ+63/01r4+TRxzErC3UevhOfUDozD+MaKBjLP/XJ+1/XiM0F7R+LMp4ykEG7TWM9pS\npxBdhYQzIcR5KaV66aYXJb1sKaWcGo/NauW+Xo3H1HU0pZRzcyHoctAQVC92HUK0h4QzIYQQQogu\nRJbSEEIIIYToQiScCSGEEEJ0IZf0bM3u3bvrsLAwq5+noqICFxcXq59HtJzck65J7kvXI/ek65F7\n0jV1xn3Zv39/vtba90LbXdLhLCwsjH379l14w3basmULkydPtvp5RMvJPema5L50PXJPuh65J11T\nZ9wXpVSLFp+Wbk0hhBBCiC7EauFMKeWtlJqmjOeqCSGEEEKIFrBKOFPG8wG/xVhJ/EdlPNgWpdRb\nSqm5lt/bKaUylFJbLL8GWV5/Tim1Vyn1pjVqE0IIIYToyqw15iwaeFRrvcsS1IYppSqBAK31N422\nWaq1frxhJ2U8LHk8Rqh7Wik1VWv9g5VqFEIIIYTocqy6CK1SaiLwAsbz53YD64GtWuuvlFL3AfcD\nFUAscA/wIMbDeN+yPOx5ltb6mbOOeTdwN4C/v//wZcuWWa3+BuXl5bi6tuT5zaKzyD3pmuS+dD1y\nT7oeuSddU2fclylTpuzXWo+40HZWm61peXbbIowH0S7GeGDxq8ADloft7gKmaq2zlFKfALMxHszc\n8Hy9QsD/7ONqrd/FeEA0I0aM0J0x40Vm1nQ9ck+6JrkvXY/ck65H7knX1JXui9UmBGjD/UAM8Hvg\nXa11NvAZMAWIafTg331AJFAOdLO85mrN+oQQQgghuiJrTQh4XCl1q+VHT+AjINzy8wggHfhUKTVY\nKWULXAccBvZjjDkDGAykWaM+IYQQQoiuylrdmu8Cy5VSdwFHgLeAD5RSNwL2wA2AF/AFoICvtdY/\nKKVsgJeVUq8BMy2/hBBCCCEuG1YJZ1rrImDaWS8vOOvnTIwZm433MyulpgJXA69prVOtUZ8QQggh\nRFfV5R7fpLWuAlZe7DqEEEIIIS4GGXAvhBBCiMvasewyquqtt7RYa0k4E0IIIcRlK7e0miXv7+bf\nh2sudimnSTgTQgghxGWptt7M7z4/QFl1PTdEOVzsck6TcCaEEEKIy9Jfvo1nf3oRr94QTYhb14lE\nXacSIYQQQohOsnzvCT7dlc49E8OZOzjoYpdzBglnQgghhLisHD5RzJ/WHmFchA//M6PPxS7nHBLO\nhBBCCHHZyC+v4d7P9uPr5sjrNw3DzrbrRaEut86ZEEIIIYQ11JnM3P/5AQoraln1u7F4u3SdSQCN\nSTgTQgghxGXhpfVH2Z1ayD8WDWZgD4+LXU6zul5bnhBCCCFEB1tz8CQf7kzj9nFhzBsafLHLOS8J\nZ0IIIYT4VTuSWcIfV8Uyqpc3T87ud7HLuSAJZ0IIIYT41SqsqOWeT/fj7eLAm7cMw74LTgA4m4w5\nE0IIIcSvUr3JzANLD5BXXsOKe8bQ3dXxYpfUIl0/PgohhBBCtMFfvzvGzuQCXrhuIINDPC92OS0m\n4UwIIYQQvzr/3nqcd7alsGR0TxaOCLnY5bSKhDMhhBBC/Kq8ty2FVzYkMHdwEM/M7X+xy2k1CWdC\nCCGE+NX4z/YUXlx/lKujA/nHwsFd8gkAF3LpVSyEEEII0YSPdqbywrqjzBoYwD8XDbkkgxlIOBNC\nCCHEr8CnP6fx7DfxTO/vz79uGnpJLJnRnEu3ciGEEEII4PPd6fz5qzim9vPnjZtbv5ZZwalyzPXa\nStW1nqxzJoQQQohL1tI9GTy15ghX9vXjzVuG4mDXumBmqjOz7o0YtJOGqVYqspWk5UwIIYQQl6Tl\ne0/wxOpYJvfx5e3Fw3C0s231MeJ3nqKssBqfSGWFCttGwpkQQgghLjkr95/k8dUxTIjszr8XD29T\nMKurMbF3fRpBkZ64BFihyDaScCaEEEKIS8rqAyf5n5WHGde7O+/dOgIn+9YHM4DYLSepKq1l9LXh\nKNV1Ws5kzJkQQgghury0/ArWxWaxLiaL+KxSxvb2aVcwq6mq58B36fQc6ENghCfHTnZwwe0g4UwI\nIYQQXVJ6wS+BLO5UKQBDQz3509X9uGVUT7o5tC2YARz6PoOaynpGXRPeUeV2GAlnQgghhOgyMgoq\njUAWe4ojmWcGslmDAunh2a3d56gsreXQphNEDPfDN9St3cfraBLOhBBCCHHR7U4p4MX1R4k5WQJ0\nfCBr7MB36ZhqTVwxt1eHHrejSDgTQgghxEVTbzLz+uZkXt+cRLCXs9UCWYOywmqObM2k75hAvAJc\nrHKO9pJwJoQQQojTSguq0GaNh6+z1c+VWVzFI8sOsSetkPnDevD8tQNxdbRuNNm3Pg2NZsTVYVY9\nT3tIOBNCCCEEAFXltaz6f/vRwOLnR+PgZL2YsPFINo+viqHeZOYfiwYzb2iw1c7VoDinkqM/ZTFo\nUg/cfYyWuaqqKo4ePUp+fr7Vz99SEs6EEEIIgdaarZ8fo7q8DrNZc3jTCUZe3fFjsqrrTLywLp7P\ndmUQHezBv24cSlj3zule3PNtKrZ2isHTgomPjycmJoakpCRMJhO+vr6dUkNLSDgTQgghBIm7szl+\nMI8x83qTnVLCwf9mMHBiD7q5OXTYOY5ll/HA0gMk5pRzz8RwHpvep9XPwmyr3IwS4g4n4BpRyZvv\n/ExNTQ0uLi6MGDGC6OhoEhMTO6WOlpBwJoQQQlzmygqr2bYskcAID4ZMC6Ukt5Klz+1m3/o0JiyK\navfxtdZ8vjuDv3wbj5uTPZ/ccQUTo6zfUqW15tSpU8TGxrJ/z0HqvGuoKnegf//+DBo0iLCwMGxt\njbXSkpKSrF5PS0k4E0IIIS5j2qzZ9HE8WsPU2/pjY6PwCnCh37ggjmzLJPrKEDx82z5zMresmqfX\nxrExLpuJUb78bcFgfN0cO/ATNK28vJzPP/+crKwsbGxssav0ZNjAMcxaNA57e3urn789JJwJIYQQ\nl7HDm0+QeayYKUv64t79lxA28upeJO7OZvfXKUy/c0Crj5uWX8G721NYuf8kWmuemt2PO8f3wsbG\n+s+wrKmp4fPPPycvL485c+aQts1EaVktM28Yg719148+Xb9CIYQQQlhFwalydq1NISy6O/3GBp7x\nnquXI9FXhXBgYzpDp4W2eCX9I5klvL31OBtis7CzseGGEcHcPSG80wb919fXs2zZMrKzs7npppvo\nZu7O7sRDjF8YadXZpx3p0qhSCCGEEB3KVG/mhw/jcehmy5TFfVHq3BatYTN6Erc9k5/XJHPNQ0Ob\nPZbWmp+PF/D21uNsT8rHzdGOuyf25o5xYfi5O3Vs3XVm4neews7BBp8erngFumBvecam2WxmzZo1\npKamct111xEZGcnK/7cfVy9HBk7o0aF1WJOEMyGEEOIytHddKvknypl17yCc3ZuekenYzY4Rs8LY\nuTKZE/GFhPT3PuN9k1nzfXw2b285zuGTJXR3deTxmX25ZXQo7k4dP67LVG9m43tHSItptCaZAo/u\n3fAOciHbHEdG3jHGj55E9KBoUg/nk5tWypQlfbG175xZoR1BwpkQQghxmck6XsKBjen0HRtI+JDz\nz5ocNCmYmM0n+XntcYL7eqEsY8b2phXy+MoYUvIr6OnjzEvzBjF/WA+c7G2tUrPJZOb79+NIi8ln\nwqIoQvt7U3CqnILMCgozy0k8dZhClUy3imCOrdUkf7sNG1uFp78zfUcHWKUma5FwJoQQQlxGaqvr\n+eGjeFy9nZiwIPKC29va2zDqml788NFRkvfnEjnSn5p6E498eQit4Y2bhzJrYCC2VhzobzaZ2fRh\nPMcP5jF+QSTRU4ynCXj6O9N7KOzbt49dWckMGhTNhBFTKTxVQUFmOcU5lURfFYKN7aXTagYSzoQQ\nQojLyk+rkinNr2Leo8Nw6NayGBB5RQAHvz/Brq+OEz7Ul09+SudkURWf3nkFEyKtu16Z2azZ9MlR\nkvblMmZ+bwZfFXLG+/Hx8axbt47IyEiuu+5abG1t8evpbtWarO3SipJCCCGEaLO02Hzitp9i6NRQ\ngiI9W7yfjY1izPzelOZXs29TBq9vTmJSlK/Vg5k2a378LIHE3TmMujacYdN7nvF+amoqq1atokeP\nHixYsOD0grKXOglnQgghxGWgqryWzZ8m4NPDhVHXhLd6/9D+3vTo48medanUVtfz5Ox+VqjyF9qs\n2bL0GAk/ZTHy6jBGzAo74/2srCyWLVuGl5cXN998Mw4OHfeYqYtNwpkQQgjxK2eqM7Pp46PUVNYx\n9fYBbZq5qJSi15U9sKnV3OrtTZ+Alq171hZaa7Z/mUj89lMMm9mTkXPOfAB7YWEhn332GY6OjixZ\nsgRnZ2er1XIxyJgzIYQQ4lessrSWDf+OJTulhIk3RtE92LXNx3r3SCb2jib6nqyhoqQGF4/zP4ap\nvs7EqcRiinMr8Q11xy/U7YLBUGvNzhXJxG7NZMi0UEZfG37GGmwVFRV8+umnmM1mbrvtNjw8PNr8\neboqCWdCCCHEr1TBqXLWvRlDZWktM347kIjhfm0+1v70ItbFZvHQpDD0D7nsW5/GpJv6nLNdSV4l\n6UcKyYgrIPNYEfV15tPv2dgp/ELdCeztQUBvDwJ7e9DN7ZfuSK01P685zuHNJ4i+Mpix83ufEcxM\nJhPLly+ntLSU2267DV9f6z88/WKQcCaEEEL8CqXHFfDf945g52DLvMeG4R/W9hmMWmteXBePr5sj\nd1/dh301dsRvP8XgK0Nw9XIkM6mYjCMFpMcVUJJbBYCHbzf6jQ+i5wAfvINcyMsoI+t4CdnHizn8\n4wkOfp9hbOfXjcDeHgT29qQop5JD32cwcGIPxi+IPOepBRs2bCA9PZ158+YREhJyTp2/FhLOhBBC\niF+ZmB9PsmN5Ij7Brsz+XTRu3u17hNKGI9kcyCjmlfmDcHG0Y8TsMBJ2ZfPVPw9SXV5HfZ0ZW3sb\nekR5Ej0lmNABPnj6nTkOzM3b6fSCt/V1JvLSjbCWdbyEtNgCEn7OBqD/uEAm3hh1TjDbu3cv+/bt\nY9y4cQwePLhdn6erk3AmhBBC/EqYTWZ2LE8idmsmYdHdmXZH/3Y/7Lu23swrGxLo4+/GghFGa5WL\nhyOjrwknbscpeg3xpecAH3pEeWLn0LKlLOzsbQmM8CQwwljOQ2tNSW4VFcU1BEV6nn4KQYPU1FQ2\nbNhAZGQkV111Vbs+z6XAauFMKeUNDAcOaq3zL7S9EEIIIdqupqqe7947won4QoZOC2X0vN7YdMCq\n/Z/uSiejsJKPbh95xlMABl8Vcs6CsG2llPGYJU//c2ddFhUVsXz5cry9vbn++uuxsfn1LzRhlU+o\nlPICvgWuAH5USvlaXn9LKTW30XbvK6V+Vkr96XyvCSGEEKJ5JXlVrHp1P5kJRUxZ0pex10d0SDAr\nqazj9c1JTIjszqSozh98X1NTw9KlS9Fac9NNN+Hk1L7u2UuFtVrOooFHtda7LEFtmFKqEgjQWn8D\noJSaD9hqrccopT5QSkUCg85+TWudZKUahRBCiEveqeRiNvw7Fq011zw0hB59vDrs2G9uSaakqo4n\nZvU7ZwyYtZnNZtasWUNeXh6LFy/Gx8enU89/MSmttfUOrtRE4AVgLrAbWA9s1Vp/pZT6F7BRa71e\nKXUj0A0YevZrWusPzzrm3cDdAP7+/sOXLVtmtfoblJeX4+ra9nVhRMeTe9I1yX3peuSedD0ddU/q\nqzW5sZqiFHBwhdCJCke3jgtQeZVmnthexZggO+4cdP71zKwhNTWV9PR0IiIiCA4Otvr5OuPvypQp\nU/ZrrUdcaDtrjjlTwCKgCFgMxAOvAg8opUIBFyDTsnkhMKyZ186gtX4XeBdgxIgRevLkydb6CKdt\n2bKFzjiPaDm5J12T3JeuR+5J19Pee1JXa+LwDyc48F06pjoz0ZN7MHJOL5xc7DuuSOCBpQexs6vh\nr7dOIsCjc7sTjxw5wpYtWxg6dCjXXHNNp7TadaW/K1YLZ9pokrtfKfUX4PfAI1rrbKXUZ8CLwAmM\n1jIAV4zxb+VNvCaEEEJc9rRZc2xPNru/SqG8qIbwIb6Mmde7yUH07XUwo4hvDp/iwSsjOj2YZWVl\nsXbtWkJCQrj66qs7vTu1K7BKOFNKPQ5kaa0/ATyBj4CGp6yOANKBg8B4YBcwGDgGnGziNSGEEOKy\ndjKhkJ2rksk/UY5fTzem3TGAoEhPq5xLa81L64/S3dWRuyf1tso5mlNeXs7SpUtxdnZm0aJF2Nk1\nHVNyUpKxc3TE0z8AW7uObTHsCqzVcvYusFwpdRdwBHgL+MAyjsweuAEoA7YrpYKAWcBoQDfxmhBC\nCHFZKsyq4OfVyaTFFuDm7cS0O/sTOdz/nHXAOtJ3cTnsTSvixXkDcXXsnOVQtdYUFhaydu1aKisr\nueOOO5q8On9RAAAgAElEQVQd/5Uee4iVLxgLOihlg7ufH14BQXgGBOEVGIRXQBBegT1w9/XDxrZl\n6651NVa56lrrImDaWS8vOHs7pdRky3avaq1LmntNCCGEuJzU15nYuTKZuO2nsHewYcy83kRfGYyd\nvXXDRmp+BU+tiSXSz5VFI6z7eKSysjJSU1NJSUkhNTWVkhLjK/+GG24gKCioyX202czWzz7A3deP\ncQsXU5R9iqKsUxRlZXIq8Si1VVWnt7WxtcXDLwD/8Ah69B1AcN/++ASHoi6BddIu6hMCLCFu+YVe\nE0IIIS4XZpOZ//4njtTD+QyaHMzIOWF0c3W48I7tlFNazZL3d6OBd5YMx862Y0NMdXU16enpp8NY\nbm4uAE5OTvTq1Yvx48fTu3dvvL29mz1G/PYfyUtLYfYDf6Df+MlnvKe1prKkmKLsUxRbAlvhqUxO\nxMeSsHOrcS4XV4L69qdHn/4E9xuAf3hEl+wWlcc3CSGEEF2ENms2f5pA6uF8JiyKInqK9ZeQAGOx\n2d98sIeiilqW3j2acN8LLykRFxfHjh07ALCxsUEpdfq/jX9vY2NDVVUVmZmZaK2xs7MjNDSU6Oho\nwsPDCQgIaNGq/3W1Nez88jP8wyPoO3biOe8rpXDx9MLF04vgvgNOv661piQnm5MJcWRafqXs3wOA\nnYMjgRFR9Og3gHJT15l4IOFMCCGE6AK01mxfkcSxXdmMuqZXpwWzqloTd368l5S8Cj68fSTRwRee\naFBeXs7XX3+Ni4sLPj4+aK0xm82n/2s2m6mvrz/9s729PePHjyc8PJzg4GDs7VvfWnVg/deUFeQx\n6/5HWtU1qZTCMyAQz4BABk6eCkBFcRGZx+LJPBrHyYQ4dq9ejldkX+CWVtdlDRLOhBBCiC5gz7ep\nxP54ksFTQxg+K6xTzllnMvP7Lw6wP6OIN24axriI7i3ab9OmTVSYNVfOX8Co4EArVwmVpSXsWbuC\n8GEjCRkQ3e7jOXt44jEwguweJqqHKU5lKwoLrLcof2tJOBNCCCEuskM/ZLBvXRr9xgUy7vqITlnb\nS2vNH1fFsikhl79cN5Cro1sWsjIzMzlw8CDbJszm4+RcVru5M9LDxaq17lq1jLrqaibecnur960z\n15FaksqxwmMcKzxGQlECiYWJFNUUnd4mxC2EAd0GnOconUvCmRBCCHERxe88xc6VyfQe5svkW/p2\n2qKrr2xIYNWBkzwyNYolo3u2aB+z2cyGDRtI6RlFoo0DbjaKO4+k8t2IKAIdrTNpoSgrk8Pfr2fQ\nldPxCQ5t8X41phru3/Ik+09to95cDYCDjQORXpFcGXolfbz70MerD1FeUbg6uLJlyxar1N8WEs6E\nEEKIiyR5fy5bPksgtL83024fgI0V1y9r7J2tx3lnWwq3junJg1dFtHi/2NhYjuXm8dOYmYzzdOWF\nyB7MOZDE7bFprB0agVMHz/AE2L70Y2zt7Bm7sHXjwR7bt4JvWYRLyAJmeNRwZ0gQg717YWfT9aNP\n11/sQwghhPgVyogr4PsP4ggI92DmPYOwte+cr+QV+07w8oYE5kQH8uzcAS1uqaupqeH777/n4MBR\n1CsbXu0TTD/XbrzRL5RDZZX8b+IJjCc3dpzMY0dJ2v0TI+bOx8XTq8X7vZYcx8qKfnS3LWekpy+r\niz24Pq6SPyZmkVBRdeEDXGQSzoQQQohOlnW8hA3vxOId5MLV90dj79g5K9n/EJ/DH1fHMiGyO39f\nOKRVLXXbtm0jzsGFI27ePBzmT29n45mbs3w9eSzMn+XZRbyfmd9htWqt2frZ+7h4ejFi7rwW7/d2\nRg4vn6jDuS6Z70YOYdmQ3my5og8LArxZmVPI5D3HWHToOJsKSjF3cJjsKBLOhBBCiE5UXaT59o3D\nuHg6MveBITg6d84iqHtSC7n/iwMMDHLn7cXDcbBreQQoKChg25697B4wkihnJ+4P9Tvj/cfCApjZ\n3Z1nkjPZUVTWIfUm7fmJrMQExi68BQenbhfcXmvNKylZPHc8C4fKPfwz0p0eLsaCtn1duvHXPiHs\nHzOAJ3oFcqyimltiUpi4J4GPMvOpMJk6pOaO0vU7XoUQQogurrq8jqR9OdTVmDDVmzGbNKY6MyaT\nGVO9xlxv+X2dJi1O083ZlmsfHoqzu/VX/i+urOW1TUl8+nM6oT7OfHDbyFY/M/O7775jb1g/Cm3s\n+KhPMA5nrTNmoxSv9+vJ7P2J3B2XxobhUfTs5tjmmk31dWz/4iN8gkMZOPnsp0E2sb3WPJF4kk9O\nFeBSsY2Z3ZKY2+u352zn42DHQ2H+/C7Ul2/zSnjnRC5/TDzJyylZzNaOTG5zxR1LwpkQQgjRDvW1\nJr55/RC56Y1ajBTY2tlga6uwtbfBxtYGWzuFrZ0Nju5wzf1DcPN2smpdtfVmPvk5jdc3J1NWXcei\nkSE8Nr0PPq6tC01JSUnsPJVDzPDJ3BrkwxWeTT89wM3Olo8HhTNrfyK3x6byzfBIXNr44PHD32+k\nODuLeY8/c8GHl9eazTxwNIOvcouJMO2nrvQL/jxl7XnH0jnY2DDf34t5fp7sK63knRO51OWVt6lW\na5BwJoQQQrSR1prNnxwlN6OMmfcMJHSAD7a2CpvzzFrcsmULXgHWWxdMa813cTm8suEoaQWVTIjs\nzlNX96NvgHurj1VfX8/6jRvZ0X8k3e3teSr8/GuhhTs78nb/niyOSeHhoyd4d0DPVi8NUlNZwa5V\nSwkZEE2voSPOu22FycRdR9L4sbCM+R5FbI/9J0+NeooAl4AWnUspxUgPF0Z69OLHH9NbVac1STgT\nQggh2mjf+jSS9uUyZl5veg/1u/AOVhZzspgXvj3KnrRCovxd+ej2kUzu0/a69uzZw5ZunuR0c+W9\nqGA87C8cG670cefJ8EBeSMnijYxuPNDTv3Xn/GolVWWlTFp8x3mDXVFdPUtiUjhQWsnz4V58/NP9\nDPUbysI+C1t1vgadtLxci0g4E0IIIdrg+IFc9nyTSp/RAQyd3vLFUa3hVHEVf/3uGGsOZuLj4sCL\n8wayaEQIdu1Yd6ysrIyvf97N/iGTmObjzhxfjxbve3+oH0fKq3gpJYt+rt2Y6tOyVrvS/DwOrPuK\nfuMn4x/e/Ppr2TV13Hj4OCmVNfxnYBg/xr9IVX0Vz459Fht16c91lHAmhBBCtFJeRhk/fBRPQLg7\nk2/p02mr+p+tus7Emz8m8+62FDRw3+Te/G5yb9yc2j8D9IdNm9gc1h9bO1tejgpu1WdUSvH3vqEk\nV9ZwX7wxQaBh6Y3z+Wn5Z2g042+8tdlttheW8eixExTW1fPF4HDqy/ezMW0jvx/ye8I9wltcY1d2\n6cdLIYQQohNVlNSw/u0YnFzsmXVvNHb2nbNG2dkOnShmzus7eH1zMjMGBLD5sUn878y+HRLMTp48\nyarMPDK8/XkiPJBgp9bPKnW2teHDQb2wU4rFMSlsLig97yK1OSnJxG3bzNCZc3H3PbcrNqOqhjuP\npLLg8HFsgJVDIhjionhh1wtEeEZwx8A7Wl1jVyUtZ0IIIUQL1deZ2PDvWKor6pj/P8NbvRRGVa2J\n7SfrGFRe0+pZkw2q60z884ck3t12HH93Jz6+4womRfm26VhNMZvNrP7uv/wUGU20ixN3Brf92CFO\nDnw4sBf3xadzc0wKg9268WhYANN93M9oiTPV1/PdO//CxcOTUfPOHDNWZTLzRkYOb2bkolA80SuQ\ne0J8cbK14YVdL5Bbmcs/Jv8De9vOWS+uM0g4E0IIIVpAa82PnyaQk1rKrHsG4Rvi1upjvLLhKB8f\nqeWzhM0sHBHCbyeEE+rj3OL9D50o5n9WHCYpt5xFI0J4ak4/3DugpaxBeXk5+/fvZ42TN9X2jvyt\nXyi27eyyHeXpys+j+7E8u4h/pefwm9hU+rs48XBYAHN8PbBRin3frCYvLYXiWSF8lrKMMYFj6OPV\nh40F5Tx7PJOT1XVc6+fJ072D6GFpxTuQc4Avj33J4n6LGeQ7qCM+fpch4UwIIYRogQPfpZO4J4dR\n14QTPrT1rUkHMor4ZFc6Y4JsCQ0K4su9J/h8dzqzBwVy76TeDOzR/ID7mnqjteydrUZrWXtnYTYo\nLy8nPT2dtLQ00tLSyMvL44SXL0ejx3FvcHcGubU8OJ6Pg40Ni4N8uDHAm9W5RbyWlsPdcWlEOjty\nl7s9BauWQR8/1qodcGAHf7NfSbX3bVQ59iXQrpo3I32Y3+OXZTlqTDU8+/Oz9HDtwQNDH+iQGrsS\nCWdCCCHEBaQcymPXVylEjvRn+Kyerd6/zmTmydWx+Ls5cWt/G2ZNjebR6VF8sDOVL3Zl8G1MFuMj\nunPPpHDGR3Q/o8vv8Ili/mBpLVs4Ipg/zenf5taypsJYja0dud0DKQztS2r/MWRjQ4ijPf9zgTXN\n2sLORrEwwJvr/b34JreYf6Zn83h2Od4Lfk+32o2M7z4b14Df8nl2GfbUEVS+htrCtTybYuYtZz9G\nB45mVOAoEgoTSC1J5Z2p7+Bs3zEBsiuRcCaEEEKcR/7JMr7/MB6/UDeuXNK3TTMz/7M9lYTsMt5Z\nMhzHvAQA/N2deGJWP+6fEsEXuzP4YEcqS97fw4Agd+6Z1Jup/fx4Y3My72xLwdfVkQ9vH8mUNraW\nmc1mvvzyS44dO4YZRZG3LyU9I8gYMJokbYsJcLG1YbyXKw96uTHXz7PNq/u3hK1SXOfvRfCBHby3\nZRv7pl5DpvvNrEVDdjlLgrrzeK9AvO1HcqLsTnZl7WJ31m62ndzG18e/BuCa3tcwtsdYq9V4MUk4\nE0IIIZpRWVrLurdicOxmx+z7orFzaH1gySio5LVNiUzv78+MAQFs2ZJwxvvuTvbcO6k3t48LY+3B\nTN7ZlsKDSw/iYGdDbb2ZBcON1jKPbm0fW7Znzx42FJRSOGEmx+y6UWbWKGCwqzMPeLsx2duN4e4u\n2Nt03pIgJbk5/LT0Y2b0G0B1/X9wrPJiUt/HuCnQh+hG3amh7qGEuoeysM9CzNpMYlEicflxzAib\n0Wm1djYJZ0IIIUQTTPVmNr4bS3VZHfP+MAwXj9bPrtRa89TaWOxsbHju2gHn3dbRzpZFI0NZMDyE\n74/msPFINtcMDmJK3/aNLcsuKOTJtFziB4wiyNGeud5uTPJ2Y4KXG94tWPHfGrTWfP/eG6AUkYvm\ncGD7HTwy/BHuiAo57342yoa+3n3p6923kyq9OCScCSGEEE3YsSKJrOQSpt3ZH7+erX8uJcDXh0+x\nPSmfZ+f2J9CjW4v2sbFRzBgQwIwBLXs+5PlkVNYwf18CJ/1Ducffg6f7hbV79mVHiNvyA+kxB7nq\nzvtYl78JOxs7rou47mKX1WXIIrRCCCHEWeJ3nuLI1kyGTgslamTbQlJxZS3PfxPP4BBPlowJ69gC\nLQpOnuDDR3/Hof+uP+e9TQWlXLnnKLk29jzpUMdz/Xt1iWBWXlTIlk//Q3C/gURNnsTXyV8zrec0\nvJ28L3ZpXYaEMyGEEKKR7JQSti49Rkg/L0bP693m47y8PoHiqjpenjcIWyuM5co/kc7y55+gMPME\nWz55j4KTGQCYteavqVksjknBqaKM+zMT+P2Y4R1+/rbQWrPp/bcx1dYx7e4H+C79v5TVlbEwqm0P\nK/+1knAmhBBCWFSU1LDxnVhcPR2ZftdAbNoYqnanFPDlvhPcNb4X/YPa1iV6PnkZaSx/7gmUjQ2L\nnnkFe6dubHzrH+RX13BLTAp/S8thZHUp8w9t5/bZM7Cx6Rpf94m7dpK892fGLLgZ76AerEhcQbhH\nOMP9u0Z47Cq6xt0SQgghLjJTvZnv3j1CTVU9s+6NxsmlbbMja+pNPLEmlmCvbjw0NbKDq4TctBSW\nP/8ktvb2LHrmZYL7D2Tqnb/jUEkFV+6MYWdROY952jN092auHDcWP7/2L1bbEarKStn84b/xD49g\nxJx5xBfEE5sfy8I+Cy/ag+O7KglnQgghBLB9eRJZx0u48tZ+dA92bfNx3t5ynJS8Cl64biDODh07\n7y4nJZkVf3kKewdHFj3zCl6BPQDY17M/S+ffS1VlJf/xdcD2x+/w8/Vl/PjxHXr+9tjy8XtUl5cx\n/Z4HsbG1ZUXiCpxsnZgTPudil9blyGxNIYQQl7247ZnEbctk2IxQIkf4t/k4ybnlvPXjceYODuqQ\nxys1ln08iZUv/gmHbs4sfPplPP0DqDaZeSLpJEuzChnv4cyYNW9zxNOHUjsn7rzzTuzsusbXfOrB\nfcRv/5HR19+IX1g45bXlrEtZx8xeM/FwbP6xVZcraTkTQghxWctOKWHbskRC+3sz6tq2TwDQWvPU\nmlic7G14ek7/DqwQspKPsfKFP+Ho7MqiZ17B0z+A3Jo6rj+UzNKsQh7p6c+Xw/swes51lNo6Eurj\nRUjI+dcM6yxVZaV8/96b+ASHMmreIgDWpayjqr5KJgI0o2tEaiGEEOIiqCiuYcM7sbh6OzHtzgFt\nngAAsGLfSXanFvLy/EH4urV+wdrmnEpMYNVLT9PN3Z2FT7+Ee3c/YsoquS02laI6E/8ZEMYcP0/q\n6uo4mJyKg60Nxbu2kDt3Ln5h4R1WR2tUV5RzfN9uEnftID3mIGaTmRuffxU7e3u01nyZ+CX9vPsx\nsPvAi1JfVyfhTAghxGXJVGdmwzux1FabuObBIa2eAKC1pqSqjryyGrJKqnlx/VFGhnmxaET7W6y0\n1pw8eZLaogLW//1FnD08WfDnl3Dv7svXucU8dDQdb3s7vhkWwUDLo462b99Ofn4+C66/nu1vJLPx\nzb9zy8v/wNau7Y99ao2q8jKO791F4u6dpMccwmyqx627L0NmzKHf+Mn4h0cAcDjvMElFSTw95mmZ\nCNAMCWdCCCF+NXLTSykvqsHJ1Z5urvY4udrj6GzfZIvYti8TyUktZcZvB+LTo+kJAPnlNWw4kk1e\nWc0vv8pryLf8vtZkPr2tk70NL80b1K7Wtwbbt29n8+bNoDWOPSKInjqVels7Xk3N4u9pOYx0d+GD\nQWH4OhjBKycnhx07dhAdHc2AQYNwuvv3rH31L+xatYxxi5a0u57mVJaWnG4hyzhyGLPJhLuvP8Nm\nX0PU6HEE9I46J4CtSFyBi70Ls3vNtlpdlzoJZ0IIIX4VSvOrWPN/B6ivM5/xulLg6PJLWHNysUfZ\nKFIO5jF8Zk8ihjc9cL/OZObW9/cQn1WKUuDj4kB3V0d83Rzp7euCr5sjvpaffd0cifBzxc/Nqd2f\nY8+ePWzevBmH8mKc7OywDwrlv9t/4o95NaT6BjGZWv4aFEB3y3MxzWYzX3/9NU5OTsycOROA3sNH\nMWDSVexeu4LeI0YT0LvtS3qY6usozculOCeb4pwsSnKyKM7JpiQnm4LME2izGQ//AIbPmUfUqHH4\nh0c02yJWUlPCxtSNzIuch4u9S5tr+rWTcCaEEOJXYceKJFBw7cND0GaoqqiluryOqvI6qi2/qsrr\nKM2vpqq8lj6jA7jimubHZL27LYX4rFJeu3EIVw8KxM7W+nPoYmJiWL9+PbZlxYQ4KOY//hSFTi4s\nPphEenUtswtOEHJkP+9vBU9PT/r2NR4AnpmZyfXXX4+zs/PpY03+zW9Jjz3Exrf+weKX/4mdg8MF\nz19dUU7S7p/ISj52OoSV5eej9S+B187BEQ8/fzwDAokYOZqIK8biFxbeoi7Kr5K/otZcy4KoBW24\nOpcPCWdCCCEueWmx+aQezmfMvN4E923/MxqTc8t57YckZg8K4NohPTqgwgtLSDjKmtWrsa0oI7qH\nP7Pvf4SDVfXcvi+RWrOZz6J7c6XPUMpmTCYxMZGEhAT27t2LyWQiMjKSgQPPHFzv5OLK9HseZPXL\nz/DTyi+YePNtTZ63vq6O1AN7ObpjCykH9mCqr8fJzR0v/0CCovrhOTEQT/9APPwD8PQPxMXTq01j\nxbTWrEhcwWDfwfTx7tOWS2QV2qwp35mJS/bFruQXEs6EEEJc0uprTWz/MhGvAGcGX9X+wfgms+bx\nVTF0c7Dl2WsGdECFF5Z09ChffrkMVVXJxGGDGb3gZpblFvNkYiYhTg58PCiCSBejy9TNzY3hw4cz\nfPhwampqSE9PJyQkpMnA1GvIcAZdOZ19X68mYsRogqKMljZtNnPy6BGO7thC4u6d1FRU4OzhyeBp\ns43B+70jO3yw/t7svaSVpvHi+Bc79LjtYSqtpXDFMWqSinHp0XUmJ0g4E0IIcUk78F06pfnVXPvw\nEGzt2t/1+MnPaexPL+JvCwZ3yBiyC0k4fIgvVq8lz8UNt0nTecPLn9t2xlFl1kz0cuXdAWF42jf9\nde3o6EhUVNR5jz9pyV2kxRxk49v/ZPb9j5K4eycJO7dRVpCHvaMTkVeMod/4yYQOGoKNra01PiIA\nyxOX4+7gzvSe0612jtaoOlpA0cpEdK0Zz3kRJFceo2NXp2s7CWdCCCEuWSV5lRz4LoPIEX4d0p15\norCSVzceY1KUL/OHWa87s8Zs5mBpJatjjrApr5TsCXMxWYLRgLp6Fgf5MNbTlWk+Hti1c/ano7Mz\nM+55iJUv/onPn3oUZWNDryHDmXDLbUQMH4W9k/UDaH5VPpvSN3FTv5twsrP++c5H15koXp9Kxc9Z\n2Ae64H1TX+z9nGHLsYtaV2MSzoQQQlyStNZsW5aEja1i7PXtf8C41ponVsdio+Cl+YOssgbX8cpq\nXtQuJG2PpdqsQTvS3d6BBR4OzAgLYZSnK97NtJK1R8/oIcy49yHqamvoM2YCzu6d+8iktclrqdf1\nF30iQF12BQVLE6jPqcR1fA88ZoahOqC1taNJOBNCCHFJSj2cT0ZcAeNuiMDVq/0r8q/Yd5Idyfn8\n5doB9PDs1gEVnimvto6bDqdQqG2ZWHAS27TjBFaWcc8tN9Gzl/VX8h84ZZrVz9EUk9nEysSVXBFw\nBb08el2UGrTWVPx0iuINqdg42dH9joE4RXldlFpaQsKZEEKIDpVyKI9tS48x8aY+hA/xtco56mpM\nbF+eiHeQC4OmBLf7eDml1fxlXTxX9PLmllE9O6DCM1WYTCyOSSG3to4lO77GvqICnF1YvOTWTglm\nF9POUzvJLM/k4eEPX5Tzm8prKVqRSPWxIpz6eOG1IApb1wsvK3IxSTgTQgjRYcqLqtn8yVFqq+rZ\n+E4sk2/pS//xQR1+nv0b0igvrGHeY/2xbef6Y1pr/rT2CLX1Zv7f9dFtWuE/Pz+f5OTk0z8rpU7/\nMqN4sdqW2Hq4fv9mHMrKMLu4sWjRjYSH/7qDmdaad2Pexd/Zn6tCrur081cnFlG4/Bjm6no854bj\nMjboknhklIQzIYQQHUKbNZs+Poqp3syCJ0ay66vj/PhZApWltQyf1bPDvhSLsis4+H0GfUYFEBTZ\n/q6pdbFZfB+fwxOz+tKre+tWrc/Pz2fbtm3ExsaitT7nfQ1sj4gmvkc4ExIP4VNehsnFjXnz5p1e\nQPbXbOepnRzOO8yfR/8Ze9vOecZng5rUEvI/OoKdrzO+dw3CPuDSeSKBhDMhhBAd4tCmE5xMKGLy\nLX3wDXVj9n3RbP7kKLu/TqGytJYJCyNR7Zx5qLVm+5eJ2NnbMGZ+73bXXFhRyzNfxREd7MGd41s+\nHio/P5+tW7dy5MgR7OzsGDNmDFdccQWOjo5orU//+vepQuIzCxkV+zNXpRxixr0PkZRxksGDB7e7\n9q5Oa80bB98gyCWIeRHzOvXcprJaCr5IwM7LCb/fDcbG6dKKO5dWtUIIIbqkvBNl7Fp7nF6Du5/u\nxrS1tWHqb/rj7ObAoR9OUFVWy9Tb+mNr3/ZuyOMH8jhxtIgJiyJx8Wj/JIDnv4mjpKqOz+4a1aLH\nM+Xl5bFt27YzQtnYsWNxdT33wemrsgv5v8xC+ibFsCDvOPOffxVndw/Ss3PbXfelYOvJrcQVxPHc\n2Oc6tdVMmzSFSxPQ1fV43zHkkgtmIOFMCCFEO9XXmvj+/TicXO2ZsqTvGd2XykYx7oZInN0d+Wl1\nMlXldcy+dxAO3Vr/9VNbXc+OFUl0D3Fl4MT2r0G2OSGHtYdO8eBVkfQLdD/vtg2hLDY2Fnt7e8aO\nHcuYMWOaDGUAO/JLeCgujZDsdB6qymbun19q0bMt22L7ye1EeUXh7+JvleO3hdaaNw+9SYhbCHN7\nz+3Uc5d+n0ZNSgleC6JwCLx0ujIbk3AmhBCiXX5afZyi7ErmPjiYbs3Mghs6PRRnd3s2f5LAmr8f\nYO4DQ3B2b11Y2bcujYriGmbePRCbdk4CKKuu46k1R4jyd+X3UyKa3a64uJhNmzadDmXjxo1j7Nix\nuLg0/6Ufm1/IkoPJeJQW8Re7SmY88AeUjXXW0tqVtYv7Nt1HgEsA709/n1D3UKucp7U2Z2wmoTCB\nF8e/iL1N57WaVcUXULblJC5XBOAyvOuE1dbqeiuvCSGEuGSkxeYTu+Ukg68MIbS/z3m37TM6kNn3\nRVOcU8mqv+6nJK+yxecpOFXO4U0n6Dc2kIDw5hdQrdifQ01ayQWP9+K6o+SUVvPqDYNxaGYRUpPJ\nxLJly0hISGDcuHE8/PDDTJs27bzBLDHzFAt2x2FTW8O/vO2YuegWqwWzOlMdL+9+mUCXQKrrq7lt\n422kFKdY5VytYdZm3jj0BmHuYczuNbvTzltfUPX/2Tvv8KjKtA/fZ2omk957IaGEFDqhE3qRIoKg\nYkEQEMvqqrsr6rrlU3fXdVHWLiCCwmKXIEVqaNIhhfSE9N7bpEw53x+DKJKEhDTAc1/XXJOcOec9\nz5lhcn487/P+Hsq/SEbpaYXd7I7XI/YkXfIvRhAEB0EQpgiC4NQV40tISEhI9Dy66iYObk7E0VPL\niHlts4TwDXFk7u8H0aQz8PXr5yjJrrnymqHJSG1FI6W5teQmV5B2rpiLR/I4uzuT/RsTUFrIGTmv\n5ZuuLraEii9TKFl/kcZLlS3u992FPLadyWHFuAAGetu1uN/JkycpLCxk3rx51xVlAGkpSSw8FUed\nUgegRskAACAASURBVM37HtZMmtC11hFbk7ZyqeoSL4a/yMZpGzGJJh7+4WGSy3u2DdHerL2kVaax\nasAqFLLumaAT9UbKPksEQcBxcRBCB+oabwY6/V0TBMEe+B7YCawRBGEicA74Sc4/KYpinCAI0cBP\n355XRVHcJwjCcuAxIAl4UBRFfWfHJyEhIfFbobJIh65UpLHegPoGarxaQxRFDn6aSFO9kblPB6NQ\ntr1htpu/LXf9YTCRa6P55t/nsLBS0lCrx6A3tXiM0kJOxOK+aKybnwo1lNZT8XUqSm9rxEYjpZ8k\n4PRICGqfq2vJUotqWP1NHMP87Hl2assNw8vLyzl06BB9+/YlKCjouteUeOpHlqbkU+zRi/e8bJna\nt2szNyW6Et6Lfo9xXuMY7z0egE+mf8KyvctYtncZH075kGDH4C6NoTmMJiPvR79PgG0A0/ymddt5\nK7anoy+ow3FJMAqHnu3d2Rl0haQNA54RRfHkZaG2FPifKIp/+mkHQRAcgSRRFO/5xTYP4HEgHLgH\neAhY3wXxSUhISNy2GPUm0qOLiT+ST36q+f+/6/cfwcpejYO7FnsPLQ7uWhwuP6tucCVb/JE8suLK\nGLOwN46ezRfFt4a9m5b5fxzKqR2XQBSx0CpRa5VY/PSw+uXPilbFn6g3UbYlEUEu4Li4H4JMoPjD\nWEo/jsd5RSgqD3N8dY0GVm05j6VKztv3DkbZQt2aKIp8//33yGQyZs6ceV1/tgt7drA6LZ+M4HD+\n4ePInQHe7X4/2st/zv0HvUnP88Oev7LNz9aPT6Z/wvK9y3nkh0d4f/L7DHQZ2OWx/JLdmbu5VHWJ\nN8a/gVzWdsHeEerOFKI7W4T1BG80/Ry65ZxdjdCcaV6nDCwI44BXgK+AlUAdEHf556nAO0AhUAw8\nAEwBRoii+EdBENyAf4mi+FAz464AVgC4uroO2bZtW5fE/0tqa2tbXJEj0TNIn8nNifS59ByNNSIV\n6SKVGWBsBKUWHAIFTMoGhCYLGqtEGqugsQZE48/HKS1BbQsW9mDtLqBx5LpeZI1VIul7RbTO4DNe\n6JC5bFNTE0qlskNjOMcL2ObIyB9sROdi3qbQgedpGYIJ8oabaNKKfBTbyMkCI88NtSDYqWXhUFhY\nSFJSEoGBgXh5tdwaShRF8k4e4Ycm2DduLrNNOhbLm64bb0e/J2kNaawtWss022nMspt1zesVhgre\nLnqbKmMVj7o8Sm+LjjeFbwtG0cir+a+iFJT8yf1PyISun1pUVYPXSRkN9pA/1AQdsNHrjr9fEyZM\nOCeK4tDr7dcl4kwwf8veAbyAN4A0URQLBEHYjFmspQBGURRTBUH4O1AKVAAOoiiuFQRBBUSKoji9\ntfMMHTpUPHv2bKfH/2uioqKIiIjo8vNItB3pM7k5kT6X7sVoNJEZW0r8kTxyEisQZAL+A5wIGeuJ\nVz97BJlwzWdiMolUl9RTXlBHeX7dVc+iSURtqcA7yAGfYEd8gh2u8RIzGkx89a+z1FY0cs+fh3fI\naywjI4PNmzejVqvx8/PDz88Pf39/nJ2dkbWxiF4XXUz5tmSsxnthN+NqE1l9iY6SD2MRZAI/jnDi\n2b1J/H5yH56a3LJYqaur491338XBwYGlS5e2GIfRoOeH99eyNz2TL+csJcLRls1hvZC3QWR25Hti\nMBlY+P1Captq2X7ndjSK5hu0l+hKeGTvI+TX5rN24lpGeYy6ofO1h+1p23np+Eu8NeEtJvm0v96u\nMbOK6r1ZKJw1qAPtsQiwRWbZ8kpPU72BorcvgMGEy+8GdbhfZnf8/RIEoU3irEsq9USz4ntcEIT/\nAzxEUTx6+aWzQG9gD6D/xbYpwEHgJ+MaK6SVpBISEhLNUlPeQMKxfBKO5aOrbsLKXs3w2f70H+2B\n1q51sSSTCdi5WmLnanlVU/JGnZ6cxAqy4svIji8j7ZzZKNXJ2wrfYEd8Qhxx87fhVOQlSnNqmbkq\ntEPCrKmpicjISOzs7PDz8yMjI4OkpCQALC0t8fX1xd/fHz8/P5ydnZvNrOmLdVR8k4rKzwbbqdc2\nK1c6W+K0LJTCD2Lw3pvLLH8nnpwYiCiKnP7uS+prqhlyx51YO/68dm3v3r00NDQwe/bsFoVZo66O\nyP+8RlxWFrvufRp/rYb3g/3aJMw6yufJn5NakcqbEW+2KMwAnC2d+Xjax6zYt4InDzzJmog1V2rT\nugK9Sc8HMR8Q5BDERO+J7T6+Mbua0o3xCEoZTbm11J0qBAGUXtZYBNqhDrRD7WuDcHllrWgSKf8i\nGWNlI84rw276RubtpSsWBPwJKBBFcTNgB3wgCEIScBG4E3gNeBU4CkQCC4AjmBcNLLs8zAAgs7Nj\nk5CQkLiVaWowcG5PFtH7szEZRXxDHAkZ64lPiOMNNev+JWpLJYFDXAgc4oIoipTm1pIdX0bWxTLO\n783m3J4s1JYKGusNBI/1wH+A8/UHbYWoqCgqKipYsmQJfn5+gNlTLCMjg8zMTDIzM0lMTARAq9Xi\n5+eHt7c3np6euLm5IRdl5jozpQzHe/shtFA/Vm+n4mV1Iy82ylldLcNY28jBrR9y8dA+EASif/ie\n4IjJDJ97N6U1tcTExDB27FhcXc0eWfrSeky1Tai8rBEUMmrKS/n2H3+loKiI/Q//CUGhZlOoPzaK\nrq+vKqsv490L7zLSfWSbMlOOGkc+nvYxK/et5Omop/n3uH8z2Xdyl8QWmRZJbm0u7056t91T1E25\nNZR+fBGZlRKXlWHItEqacmpoSK2kMa2SmsM51BzKQVDKUPeyRR1oj6m2iYbEcmxn90Lt27qB8K1I\nV2TOPgK+EAThEcyCbBywBfNMcKQoivsFQYgHvhME4TXgBLBJFEW9IAgNgiCsA0Zwua5MQkJC4reO\naBJJPl3IiW/T0VU10TfcjeGz/bFxajlz0hEEQcDZ2xpnb2uGTPe7klXLji+joU7P6AUdq2HKz8/n\nxIkTDB48+IowA7Czs2PQoEEMGjQIURSpqKi4ItQyMzOJj48HQCaT4aSyw7FOg//o/igaq3AyOV2T\n6RJFkT98GcOx2nrq54ah2ZVFxr8OknzpCCPm30tIxCROb/+Ki4f2Exe1n8Z+g7GztWV08HCqD+VQ\nH1uCvqDO/J6o5AieKmITDtBQU8+FFS+QqRfYGuxLgGX3rA586/xb1BvrWR2+us0CyFZty7qp63hs\n/2M8d/g5/jT8Tyzqu6jFejBDeQONGVUonDRtFj16o54PYz8kzCmMsZ5j23w9AE35tWZhplHgvDwU\nuY05G6v2s0XtZwtTfDE1GGhMr6IhrYLGtEoadprNHzRhTliN8mjX+W4VOl2ciaJYgXma8peE/Wqf\nAsyrMn/NImAWsFYUxYudHZuEhITErUZhRhXHvkilKKMaFz8bZqwMbdWEtSv4ZVatoxiNRiIjI9Fq\ntUyZ8utbxc8IgoCDgwMODg4MHjwYgOrqavLy8sg8l0JOcibpqmIST+bByX2oVCo8PDzw9PQkNDQU\nNzc31h/NYG9CES/dEUSfMDuidm0jyDCU2aFP4Dt3HDK1nCnLnyB83iK+3riZrLoahufZU/pWNAAq\nH2tsZ/VCYaem7PQlahOLCNGM4seQCKL0As83qAkvMWCyMiJTdW3mLKYkhu/SvuPhkIfxt217g3YA\na5U1H075kGeinuG1U6+xI30HL4a/SLBTMMaqRhouVdGYXkljeiXGikbzQTJwXNwfTXDrxsIA36R+\nQ0FdAX8d+dd2Zc30RXWUbohDUMpwXh6Gwq55kSuzUKAJdrwSi6GygaacWiz62ndoIcnNzE3VvkkU\nRSOwvafjkJCQkOhp6iobOfFdOsknC7G0UTFpSRB9h7tddyXlzc6JEycoLCxk0aJFaDTty/zZ2Nig\nqZdjk1zOUG9/HJeFUFZeRl5e3pXHiRMn+PHHH/HpG8KaWCXTgz1ZFGzLF399nrK8XALuGobmvJyy\nTfHY3RlIQ2I5ORfSyK6tpY/RHV9rD2ILD5NVnYC3+0BG+CwkPy+D3QfewMbFDe3i5/ioopa5tQLz\nT5VTdrgUFAJqf1vUAXYonTUoHDXIHSw6TbAZTUZeO/UaLhoXVoatvOZ1fYkOscFoNl5VyBCUMgTF\n5YdShiATsFRa8v7k99lzcSdRx/dwPG476HOxrbMEQNAoUPvbYjXGE7WPDRWR6ZRtTcTpoWAs+ti3\nGFujsZGP4j5ikMsgRnqMbPM16Ut0lKyPA5kMp+Vh7fImU9hZtCjkbhduKnEmISEh8VvHoDcScyCH\ns7uzMBlNDJ7my5AZvjfsR3YzUVZWRlRUFEFBQW0ydv01pkajuc5MLcfhnn7I5DKcnZ1xdnZm4ECz\nn1d9fT179h0g+vxZ5qmUTHTTsO2v71NfWcm8P72M34DB1AUUU/FFMkVrzmFC5LBVNBYqNbMfXoi1\nhz0eVcM5u/M7on/YSfKPR0AQ8Ojdjz5P/JEFSQUMsbFk7bhA1NNFGjOqaUipoCGlnOo9mVfFK7NW\nonDQoHC0QOFgYRZtjhbIru+2cRVfp35NQlkCr497Ha3y5y4FTfm1VO/LoiGxvPUBZMJlsSYQqrMl\nlEU0KQxcsEgk1SOHQcNGMnn4HcjlP4tJ54eDKfkojrJPE3BaGoLav/ls7VcpX1GsK+a1Ma+1OYtl\nKKundF0ciOC8IhRlF03P38rc+t92CQkJiduEjNhSjn2RQnVpA/4DnBi9IBBbZ8ueDqtTMJlMREZG\nIpfLmTmz/f0WRVGk8rs0DCX1OC0LRd5C03SV2oJvSpxJNoRyn3M+x44fR2HlyJz7luI3wDw9qh3k\ngqCQYaxoIM6QSfGRSubPn4+1hzlDZGlrx7j7ljBs9l2c372Dhtpqghc9yKzYTOyUcj4O8cdCLgM5\nWPSxv5xZ6oVJp8dQ1oChvN78fPnnxrRKdNU/KzJ/ZJTkXsRquBsWQQ4tLmYAqGyo5L8X/stQ16FM\n9zO7S+mL6qjel0X9xTIECwU2U3xRemgRDSZEgwh6k/nnn55/8bPcTo1FgB1KDyv0VR58d/IVtqS8\nyICKL3hpxEv0c+gHgMxSidMjIZR8GEvpJ/E4PxKKytv6qtgaDA2sj1vPMLdhhLs3V6l0LYaKBkrW\nxSEaTDivCEPpcnv8++5sJHEmISEhcRNwfm8WJ75Jx8FDy5ynBuIddHs4nf/EhQsXyMrKYvbs2Vhb\nW1//gF+hO1OE7kIxNpN9sAhsuR/m2v0pHE0t5a/DbKne8Tl29i40uXnzzZ69ZBaXMmnSJLRaLZah\nTlRWVnLo3cMEBgYSEhJyzVgaaxtGL1xMk8nEwuh0SpsMfDuoN67q5r23ZJZKVJbKa0QMmHs/GsrN\ngi31+EWcC+so+ywRmbUS7VA3tMPcmp3ae/vC29Q21fJC+AsYSuup3p9NfWwJgkqO9URvrMd6IbvB\n1lx9HfqyacYmItMjefPcmyz6fhH39L2Hxwc9jo3KBrmVCudHQin+IIbiDbFU3G1BjqaI/Lp88mrz\nSClPobS+lH+P+3ebzmeoaqRkXRymBiPOy0NRurXeq/S3jCTOJCQkJHoQURQ5vSODs7syCRzqwuQl\n/ZErbi+bx+rqavbu3Yufn9+V4v62IooidacLqYxMRx1oh/VEn2b3M5pEXtmZwMbjmSx2q6by2y+w\ndXFj/gt/QWVlzeHDhzl58iQJCQlMmjSJIUOGsHPnTgDuuOOOVqfkXkrN42RVHe/192WQzY1legSl\nHKWrFqWrlvJikdClw2lIKafudCE1UWarCHVvO7TD3dH0N2fT4svi+TLlS1b6LMVxn4miC+cQFDKs\nx3thNdYLubZlg9a2IhNk3Bl4JxO8J/DOhXfYlryNPZl7mOA9gcK6QvJq8zA6N/LapSeQb5XzX981\n5KmLcbBwwNPKk8cGPsZQt+t6qmKsaaJ0XRymOr05C3cDLb9+S0jiTEJCQqKHEEWR41+mEXMwh6BR\n7kTc36/DfmU3I7t27cJoNDJ79ux2ra4T9UYqvk1Dd74YdR97HO/p2+yCiNpGA09v/pH4+BRWutSj\nPrkPl4DezHv+L2iszXYQ06ZNY9CgQezatYudO3dy/McfKamqZtikyeQq1MSV11CuN1BhMFKpN1Ch\nN1KuN1DUpOdoRS1P+Lhwl2vLhfHtRZALaIIc0QQ5YqhqRHemkLozRZRvSURmpUQ2wIbPajfwXPES\nJiYPQScrxWq0J9YRXl1iuGqrtuXFES8yr/c8/nX6XxzIPoCHlQe97Xvj6e1JZv9GBv3gyrqSv2O3\nvD/WLm1/L/RFdZRtScJY3YjT0pBmM4sSVyOJMwkJCYkewGQSObwliYTjBYRN8GLM3b1v+ZWYzZGQ\nkEBSUhKTJ0/G0fH6tgw/YSirp+yzRPSFdVhP8sFmkg+CTKC+toay3GzKcrIpy8smPyOT7PRLBOnr\n8FNriHEehPHOJbgED+RAVhk6Ywl1RhM6o4k6oxFd76HU+A2k3iQiCgIbmoCzKdec30ouw04px0Gh\n4BEvJ1b3cu/Ed+VqFLZqbCb7IhvryLkfj2I4V0HgcQ8eZx4mmYg23B2bCd5XPMC6kv6O/dk0Y1Oz\nrzX51FKyLo7aT9KwfDSs1XgMFQ3oYkqojy5BX1hnNgteEmz2LpO4LpI4k5CQkOhmjEYTBz5JJPVM\nEUNm+BI+p9dt6ddUX1/Prl27cHNzY+TIttss1CeWUf55MggCjg8Fo3c0ELnmNQpSk6irrLiyn1yl\nplhuR5ZbCA1jR3HWxoFGBByUcjJrG7CUy9DKZVjKZNiplWjl6svb5FgIZgHmpFZhr5Rjr1RcEWN2\nSjmqNvb27Ch6o55jecfYlbGLqJwoGowNePh5cNeIuUw1jsF7QJ+bxjZC5WGF89IQStbFUbI+DucV\nV7dNMtY2UR9Xii66hKasavMxPtbYzQlAE+qE3Pr2arHUlUjiTEJCQqIbMeiN/LAunszYUkbOC2Dw\ntGt7Qt4u7Nu3j7q6Ou67776rbBpaQjSJVO/LouZQDkoPLY739+dSyln2/uttRNFE7+GjcfT2wcnL\nh5gaNc+cKYZe1ujsVKhlAvNd7Vnu5UyQ1c1tzWASTZwpPMPOSzvZl7WP6qZq7NX2zA2cy6xesxjg\nPOCmFesqb2uclgRTuvEipRsu4vhQMI0ZVdRHF9OQWgEmULhaYjPNF8swZxSON/dncbMiiTMJCQmJ\nbkLfaGTX+7HkJlUw7p4+hEZ49XRIXUZGRgbnz59n9OjReHhcv8WOsU5P+bYkGlMrsRzqitV0Lw5t\nXU/sgT24Bfbhjt/9ETtXN+oMRn53NIVdtbWIgx1xUsp50suZBzyccFL13C3tSO4RPk/+HL1Rj0k0\nYRSNLT4XVRdRnV2NRqFhos9E7vC/gxEeI1DKOl7g3x2oe9ni+EB/SjfFU/jP0wDI7dRYj/PCcqCL\ntAqzE5DEmYSEhEQ30KjT8/07sRRlVDHxwSCCRnVdDVNPYjKZKC0tJTIyEnt7e8aPH3/dY5pyaijb\nkoixtgn7u3qjc61ny8vPUp6Xw7C5Cxi98H6KjSbeTstjXVYJTTKwUyt4uY8X890dUHfTFGRzmEQT\nH8Z+yHvR7+Gh9cDZ0hm5IEcQBBQyBSpBhVyQIxNkV7bbNtpy95C7ifCOwFJ5a/p8WfSxx+nB/jSk\nVqIJdULlY33TZvvaRPJuNLrKno7iCpI4k5CQkOhi6mubiFwbTXleHVMfCemUHpU3C3q9nvz8fLKz\ns8nJySEnJ4f6+noEQeDBBx9EpWq9zqj2VAGVkenIrVU4rwwjIeEIh/+7AQutFfNf/D/8wgZR1mRg\n/Kkkqg1GZCUN3OdkxxuT+17T6Ly7qWmq4YVjLxCVE8WcgDn8ecSfsVBcvz4sKiqKiF4RXR5fV2PR\n1wGLvreBH19VHny9nADrfsC9PR0NIIkzCQkJiS6loVbPt/+5QHVpPTNWheIX6tTTIXWIurq6K0Is\nOzub/Px8TCYTAI6OjvTr1w9vb2/8/f2xt2/dbkEXXUzlt2mo+9hjeYcHuzf/l/SzJ/EfOITpj/0e\nS1s7UotqeCEui2q5Ce2ZMtZMC2LuQM/uuNRWuVR5iacOPUVuTS6rh6/m3n733tqZo98qogi7ngOT\ngbTAR7hZvp2SOJOQkJDoIkxGEz+sv0hViY7ZTwzAq9+tk2UwGAyUlpZSVFREcXHxlefqavMqPLlc\njoeHByNGjMDHxwdvb2+02rbXGhnK6qn4Ng2Vrw0Nw01887dn0FVWEvHgIzgNn8zG84XsiIklsaiG\nxnFu2DfAlnuHMNin87zGbpT9Wft58diLWCgsWDd1XZtMWCVuUhK2Q/IumPJ/NOjdejqaK0jiTEJC\nQqKLOLn9ErlJFUx4oN9NK8xMJhOVlZVXCbCioiLKysoQRREAmczcYNzX1xdXV1d8fHxwd3dHqbyx\nAnbRaKJ8WzIIkGGdyPFXtmLl7ILl/Kf5e6aSmKOHARjia8+8GYFsM9bzTlgvBjvadNp13whGk5F3\no99lXdw6Qp1CWROxBjftzXNDl2gn9RWw+4/gPgBGPAZHj/V0RFeQxJmEhIREF5B6togLe7MJGedJ\n/9HXX63YHeh0uqsEWFFRESUlJTQ1/dyU287ODldXV4KCgnB1dcXFxQVHR8c2WWG0leoD2TTl1FDs\nX8qxHZ9R4hbKBxbDaTpTR4inDatn9OOOMHc87TTMOJdKgEHNBIeedZWvaqziT0f/xPG848zvPZ8X\nwl9AJZd8u25p9v0F6krhvi9AfnPJoZsrGgkJCYnbgLK8Wg5uTsStly1jFvbusTjy8/NJT08nJyeH\n4uJiampqrrym0WhwdXVl4MCBV0SYi4sLanXXutA3Xqqk5lAOJS4GDh7cQLK2Nxk+03hioCezwtzp\n5fxzz8WzVXVE1+j4Rx8vZD1Yz5VcnszTh56mUFfIyyNf5u4+d/dYLBKdROYxOL8JRj0JHgN7Oppr\nkMSZhISExGVEUaS6tAFDkxHHG2zM3FCnZ9f7sag0CqavDOmxJuY1NTVs3ryZxsZGXF1d6dWrFy4u\nLri6uuLq6oqVlVW3F7CbdHqK/5dEudzE3rMfUGfpwr3PPMuEYM9mY1mXW4KtQs7CTuxp2V4OZh/k\n+aPPY6W0YuO0jQx0uflu5BLtRN8AO54CO1+IeKGno2kWSZxJSEj8ZhFNIuWFdRSkVpJ/+VFXZZ7i\nC43wYtT8ABTKtk/nmUwi+z6Op7aikXnPDkZr2/W9EFti9+7d6PV6hg0bxsyZMztlzOhqHXtKq3jS\nxwWton3TnHWNemLeO497TRMHi7ejUIg8+eorOLdgUJvX0MT3JZWs8HJu97k6iyO5R3j28LMEOQSx\ndsJanC2deyQOiU7m6BtQlgYPfAuqm9NnThJnEhISvxlMRhOlubVXhFhBWhUNdXoAtLYqPHrb4dHb\njsqiemIO5pCfWsHUZSE4eLRtFeLpyEtkx5cTsbgvbr16rsFzUlISCQkJTJw48YrNRUeJqdFxd3Qa\nNUYTe0qr+CTUHz/N9cWnKIrsiC3g9LfJPNqg4IwxCVGXxvzVf21RmAFszCtFFGGpV88IotMFp3km\n6hl62/XmgykfYKPq2cUIEp1EUQIcexPC7oGAiT0dTYtI4kxCQuI3QfzRPI5/nYa+wQiAjbMGvwFO\neASaBZmNk8VVU2ve/R04sCmBL/9xhjELe9N/jEer04Dp54s5tyeL/mM8CB7bcz5cDQ0N7Ny5ExcX\nF0aNGsWxYx1fgZZQW8890enYKRW81seNP6fmMf1sCh8E+xLh0LJoSSyo5q+R8RRkVPKJYEWVtp5L\nFyMZc+9D+A0Y3OJxOqOJz/LLmOlsi7dF9xfdx5TE8MTBJ/Cy8uLDKR9Kwux2wWSEHb8DC1uY9lpP\nR9MqkjiTkJC47dE3GjnxbTr2bloGTvLGPdAOK/vWsz6+IY4semk4Bz5JIGpLMjkJ5UTc3w8L7bX2\nEWX5tezflIirvw3jFvXpqstoEwcOHKCmpoZFixahUHT8T3xqXQN3R6djIZfx1cAAfDVqhttqWRKX\nwX0xl3gxwIPHvJ2vEq4NeiP/3J3E5hOZOFgo+dTWHmWDgT1JG+kdPorhcxe0es6vCsupNBhZ0QNZ\ns6TyJFbtX4WTxol1U9dhb9HzvmoSv8JogPJL4NCrfassz2yA3DMw7yPQOnZdfJ2AJM4kJCRue5JP\nFtCoMzB6QSAegXZtPk5rq2b2kwOJ3p/Dye/SKco8zZRlwVeN0ajTs/uDOJRqOdNXhCJX9lxLoezs\nbM6cOUN4eDheXh1vqp6ha2RBdBoygSvCDMBXo+b7wb15Kimb/0vPJ65Gx5p+PljKzdf+tx3xbDuT\nw/3hvjwhqtGfKuRU9S4s3eyZvurpVjOQoiiyLreEMGsNw2y7t4H2pcpLrNy3Eq1Sy/qp66Uas5uJ\niixIP2h+ZByGhiqw94PRT8GA+0B5nbZZVblw4G8QMAnCFnZLyB1BEmcSEhK3NaJJJOZgLi6+1rgH\ntL8OTJAJDJrqg0cfO/ZuiOe7/5xn6B3+DJ3hiyAI7NuYQE1pA3OfGXTdbFxXYjAYiIyMxNbWlokT\nO15Lk9PQxILoNPSiyNcDAwmwvPrmp1XIWRfsxzvZxbx2qYA0XSMfh/iReKmC/53OYVVEAE/5u1C6\nMZ5c0snXpbP4pTWoNK0XYB+uqCFV18g7QT7dupo0pyaH5XuXIyCwbso6PKxuDm+63yyNNWa7i58E\nWVmaebu1BwTNBrcBEPM/+P73EPVPGPkEDH0Y1M344Yki7HwORBPMWgO3QJutGxZngiA4iKJY3pnB\nSEhISHQ2WfFlVBbpmLK0f4du9q5+Nix6cRhHtqVw5vsMcpPKcfK2JiuujHH39GlXRq4rOHr0KKWl\npSxevLjDXmUFjU0suJBGrdHEVwMDCLLSYKxtQne+mKbcGhQOFiicLFE4a3jc2YH+VhpWJWQy9UwK\nsuhSQjxteGqEH+XvRNOgrOdk6nfMem41Dh7Xz+Z9lFOCi0rBHJfuez8L6wpZvnc5jaZGPp72Qi3G\nuQAAIABJREFUMX62ft127t8E6Ycg9guzKJIpQK4EmdI8JSlTmn//aZu+HjKPQs4pMBlAaQl+Y2DY\nI+YCfqc+P4ur4cvNWbSja2Dfn+Hof2D4Cgh/9Oppy4TvIGU3TH3FnG27BbiuOBMEQQsMEkXx2C+2\njQEcgMgujE1CQkKiw8QcyEFrpyZgiEuHx1JZKJi8pD/eQQ4c3ppMQVoV/Ua6ETK+excA1CeXo7BT\no3Q1T/sVFxdz9OhRQkND6d27Y6a3JU167o5Op0xv4POwXvQuaKQsMov6hDIwisht1dRfLAOTeOWY\nIK2CLe4alrubKAq2Y7TSiupvUjHqmojK3sqwuxYQODT8uudOrWvgYHkNf/R3QyXrnunhsvoylu9d\nTmVjJRumbqCPfc/WDN5W6MrhhxfMGS6NPSi1YNKDUW8WXka9+XeT4erj3AeYzWEDJoJ3OCha+M+G\nIECvCPMj9xwcWwNHXocT78CQJeZsmsoSdv0R3AdC+KouvdzOpFVxJgiCWhTFOkEQpgiCoAROXj7m\nb8BD3RGghISExI1SmltLblIFI+cFIJd33s2+b7gbbr1sSD9fQthEr26dftNXNLDqXDqJtnKUdmoE\nhYyqykqMQybg5OjIu6eTEAQQEJABKlFLWm4JY+2t6WOpbjXWcr2BhdHp5DU0sV6vxeODBEorG5FZ\nKrAa6YF2mCtKVy2i0YShvAFDST2GUvPDIr2C9zPqWRtqyVrXOlLUemZWHMYhxI9RC+5r07VtyCtF\nLRN4wKN7irWrGqtYuW8lhXWFfDDlA4KdgrvlvLc9oghxX8Ke5821YWOfg3F/aLkuTBR/FmtwY95j\nXkPgni1QnATH34JTH8LpdeAYALoyuP+rm65FU2u0GKkgCFbAWkEQ8gEDoAZeAcKBhaIo5ndPiBIS\nEhI3RszBHBQqGf3HdH79kK2zJYOn+Xb6uNdj/+kc9rgrGVplxD6/gTonEUNVBR4eHthoNYiIiFy+\n3wGxtTJeSs0DwFWlYIy9NWPtrRhrb43nL2wqKhv1LDydQrpez1vndPQtq0YRaIftDH80wY4Iv+h0\nIMhlKJ0tUTqbb6KpRTUsOJ/GqEBHPp0zgNfjM3nHvY5z00exddQghDZkwSr1Bj4vKOcuV3ucVTfW\nUL091OnreGz/Y1yqusQ7E99hiOuQLj/nb4KKLNj5DKTtB8+hMOe/4Hod0SsIP09tdhSXfjDvA4hY\nDT++DRc+hTFPm7NxtxAtijNRFGsFQXgGqAPmAOXAj8CrwBBAEmcSEhI3LbrqJlJOF9J/tEez9he3\nIqZGIx/UVuNkK+d/w/uQ/9EZvuI43r4+PDB6RrNZsaioKPzDR3KsopajFTVEldfwdVEFAL00asba\nWzG0VM9HpZUkWQm8mWxgUpgH2qGuKBw1142p0WDkqW3RWKkVvL5gAEpLFaOTjlIYG8/+WQ8xJzGX\n142wwM2h1XG2FJRTbzKxvBvsM9Ir01l9dDUpFSmsiVjDKM9RXX7O2x6jAU59AIdeBUEGM14314nJ\neqa7A/a+cMcbMO1VuAUb1F8vx7cYqAUKgSagD5AH2AiC4CSKYmkXxychISFxQ1w8nIvJIDJgondP\nh9JpnDmdwykHOc87OGDlbsUZ71zEbJGRFb0QG4wImub/pPtq1Phq1Cz2cMQkiiTVNXC0ooaj5TV8\nmVfGJgHk1jLetXNk7kovBHnbp2nX7E0hoaCa9Q8OxdlaTaOujrgDe5g+eDgvjAhiVXwWTyRm82Nl\nLa/29kLTzPSywSTycW4Jo+2s6G/VvCAURbHD08cGk4FN8Zt4N/pdrJRWvDXhLSK8Izo0pgRQEAuR\nT0JBNPSZDnf8B2w7buXSKbRUr3aT09q05uOANeALzAJev/x7IPCgKIpfd0uEEhISEu3EoDdy8Uge\nfqGO2LnenL3z2otoEnmvqBytnUC9fjsf7VNRkFPAxMFj0ZwWKN0Uj9PSEGSq1jMVMkGgv5WGviYZ\n83bko8up4dJEd9xHeBBk3b736sf0Uj46eon7wn2Y3N8VgNj9e2iqr2forHm4qlV8NTCQf2cWsjar\niAvVOj4K9qO39urao92lVeQ16nmtT/M39PjSeB478BgBdgE8EvoII91HtluoXaq6xJ+P/ZnY0lgm\n+0zmpREv4ai5uY1Ib3r09RD1D/jxHbB0hLs/gf533hJWFTc7LRYCiKL4LrAH2AFUARrMGTQ3YI0g\nCAO7JUIJCQmJdpJyuoj6Gj0DJt0+WbOUuCL2OQgE11/iy9iNZJzMoN6yHvuRLjgs7EtTVjXlW5MQ\njdfvpdmYXU3R29HoC+twXRzExCmB7RZmVTo9z34Rg7+jlpfuCALAaNBzfnckPiFhuPYKBEAhE1jd\ny52tYb0oatIz7VwKXxde7cK0LrcEP42KyY7XtkmKL41n+b7lqOQqsqqyWLlvJfftvI8D2Qcwide/\nVqPJyKb4TdwdeTdZNVm8Pu511kSskYRZRxFF+HIJHF8LgxbDE6cheJ4kzDqJVqs0RVGMvmyh8Tqg\nBw4A0aIo7gGM3RCfhISERLsQRZGYAzk4elrh2bf9rXdqa2uJjY2lqKioQ03DTSYTBQUFnDp1ih07\ndhAbG0tTU9MNj/dOWj5yEYpLN3C/6X4sRAsS3BJYvHsxbzWsw+IOLxqSyqn4KhXxFzYXv6bubCEl\nH8YiKGW4PDYQTYhTu2MRRZEXv4ujpKaRt+4ZiKXKPAmTdPwIteVlDJ09/5pjJjrasH9oX0KtNDye\nmM1zSTnUG01EV+s4XVXHMk9n5L+6sceXxrN873JsVDZsmr6J3fN38/LIl6lsrOTpQ08zP3I+31/6\nHsOvrRguk1mVyZI9S3jj7BuM9hzNd3O/Y4Z/87V5Eu3k7AZI2QPT/gFz3jZbZUh0Gm1aVyqKYiqQ\nKgiCBVB9eVtcVwYmISEhcSPkJlZQnl/HxAeDbugmvGvXLhISEgBQqVR4eHjg6el55WFr23yXAb1e\nT15eHtnZ2WRlZZGTk3NFjCmVSs6dO4dKpSIoKIgBAwbg5+eHrI1eXmej4/nOFgKKM4nIGk411Uyc\nOJFnRzzLOxfeYVvyNvZZ7OPfw17E7UwxMo0C29m9rrp+0WiiamcGtT/mow60w/G+fsgsb2yhxHfR\neXwfW8BzU/sQ5mU2ixVFkbPff4uTt2+LTc09LFR8PTCQf2UU8HZ2Meer63BVK7GSy7jH/eoFAxdL\nL7Ji7wps1DZsnLYRdyt3AO7uczfzAuexJ3MPG+I2sProat6Lfo+lIUuZEzAHlVyFSTSxJXELa8+v\nRS1X89qY15jVa5YkyjqLkhT44SVzK6TwR3s6mtuS6/qcAb8DLIEfgIVAlSAIeiBSFMWLXR+ihISE\nRNuJPpCDxkZFn2Gu7T62sLCQhIQEhg0bhpeXF3l5eeTm5nLixIkrWTRra+srQs3e3p78/Hyys7PJ\nz8+/so+LiwthYWH4+Pjg4+ODjY0N2dnZxMTEEB8fT0xMDDY2NoSFhREWFoaLy7UGuU1NTSQlJXHy\n/Em2Y4Pepy+jq4uYMmUKoaGh2NiYpwBXh69mTsAc/n7y7zxc+nv+4v0kI34EmVaJzSQfAIx1esq3\nJNJ4qQqrMZ7YzvBvV9H/L8kp1/Hyd/EM9bVnVUTgle2ZMecpzc5k+mO/b1UEKWQCLwZ4MMLOiicT\ns0ioa2CFlzPWip9r5eJK4li5byW2als+nvbxFWH28xgKZvWaxUz/mRzKOcS62HX87cTfeD/mfRYH\nLeZwzmHOF59nvNd4Xh75Mi6WHTcglriMoQm+eQSUGrjzPegms+DfGq0tCPAFnhNF8UlBEC4COcBb\nmKczVwHF3ROihISERNsoL6gjO76M4bP9b6gBeVRUFGq1mokTJ6LRaBgwwOyNZDAYKCwsJC8v78oj\nKSkJALlcjoeHByNHjsTX1xcvLy8sLa+t3/Lz88PPz4+ZM2eSnJxMTEwMx48f59ixY7i7uzNgwACC\ng4MpKioiNjaWxMRE9Ho9dUojicPmMrJBz6srm89SBDsFs3XmVr5I+YI1595mVfUCJuwDk0ZAVQ3F\nb1/AWNuE/cI+aAe3X7T+hNEk8uwXMYjAm4sGIpf9LMLO7vgGK3sH+o0e16axJl2e5lyfW8oqn5/t\nM+JK4lixbwV2artmhdkvkQkyJvlMYqL3RE4UnGBd7DrePPcm1kprXhn9CnMC5nRPtsxogLMfQ/55\nmP1fUNx61g1tJuo1KIiBRVvA2q2no7ltac3nLEsQhGOCINgAlUAqUATMAGJEUZTEmYSExE1F7MEc\n5AoZwWPb304pPz+fpKQkIiIi0GiutnNQKBR4eXnh5fXzakKdTkdlZSXOzs4olW2fHlQqlYSEhBAS\nEkJtbS1xcXHExsayZ88e9uzZA4CFhQXOvZz5uvZrPDUPo1MqeL5/64a3cpmce/vdy2Sfyfzn1BtY\nHo9jWKSIp0wAaxGXRweg8mqmKXQ7ePdQGqczy1mzcADeDj8L0KJLaWRfjGHsfUuQK9r+XnhYqHg5\n8GeD4F8Ks43TN+KmbdvNXxAERnmMYpTHKFIrUnGwcOi+gv/MY+b2QMXx5t+9hsGwZd1z7u4m8zgc\newsGPwhBs3o6mtua1jJn04BBwDDMU5q1wIuAhfllYbsoijde3SohISHRiTTU6kk+WUifcFcsbdqf\nuYiKisLCwoIRI0a0aX9LS8tmM2TtwcrKipEjRzJy5EiKi4tJSkrC2dmZFHkKfzn5F4KdQjln0Yeh\njQLhXm0ruHa2dOafE/7FiYDjJHyWCkaR8asWoLLrmDA7nlbKm/tTuHOgB/MGXS1+z37/LSqNhgFT\nZtzw+LElsazct7LdwuzX9LbvWG/RNlOVB3tfgvhvwNYHFn1mdqQ/+h8YdP8t66/VIvWV8O1KcPA3\nLwKQ6FJaqznbJ4riD4IgDAHiAVdRFF/uprgkJCQk2sXFo3kY9KYbMp3Nzc0lJSWFiRMnYmHRQv+/\nLsbFxQUXFxc2xW/ijdNvEO4Wzmj1cxwQG/ine/unIkf6jOb0w0qW7V3G8wUqFtstvuHYiqobeGrb\nBQKcrXh1XuhVU4XVJcUknzjK4BlzUFtqb2j8mJIYHt33KPYW9nw87eMbFmbdgqHR3Fj7yBsgmmD8\n8+b2QEoNqK1h81w4vxmGL+/pSDuXXX+A6nxYthfUVj0dzW1Pa+LsXUEQKgF/oBRwFgQh7fJrHsC/\nRFFM6uoAJSQkJK6H0WAiLioX7yB7HD3bf+OIiopCo9EQHh7eBdG1nbXn17I+bj1Tfafy6qhXmbwv\nkUCZwPS+N1YnNsxtGIHqQDbEbWBBnwWo5e3P5hiMJp7ceoG6RiP/Wz4Yrfrq28b53dsRBIHBM+fe\nUIy3lDBL+cHczLv8EvSbBdNeM7cJ+gn/8eAz6ufsmfL67a+6DX09HHwFtE4QvqrlJuTNEfcVxH0B\nES+A19Cui1HiCq1VzD4uiuJqYAUQBywHNKIovghsAJK7IT4JCQmJ65J2rhhdVRMDJvu0+9js7GzS\n0tIYPXo0anXPTUVFF0ezPm4983vP5/Vxr3MgroQ0S4FVTvY3XNQuCAIz7WZSUl/CVylf3dAY/96b\nzOnMcv5xVyi9Xa+eGm2oqyX2wF76jhyLjVP7e2JGF0ffGsKsLB22LIStC0GmgAe+hXu2XC3MwGzA\nOuEFqCmAc5/0SKjNUpEJG6aaM377/wrvhUPi92Yj2etRmQ3fPwNew2Hss10dqcRlWusQYLr8XA0c\nvfwcJQjCSlEUj4liWz5VCQkJia5DFEUOHDjA/r0HsXPT4NO/9ebazXHo0CG0Wi3Dhw/vggjbzifx\nn2CrtuWPw/6IXCbnvcIy3BpF7h7UsS4HvS16M9R1KBviNtBgaGjXsfsSivjw8CUWh/tw56BrF1nE\n7NuNvqGeobPvandc0cXRPLr/URwsHG4+YWY0QP4FOPWh2QX/vRGQdRym/B88ehwCJrZ8rP9Y8BsL\nR9dAk67bQm6RtP3w4XioyIJ7P4cHt4NCA58vhk/nQXErE2AmI3y7CkQj3PURyNtkjSrRCbRprbko\nigmXnyMBqaemhITETcG5c+c4evQoJcYULALK251hyszMJCMjgzFjxqBS9Zz9QUZVBgezD3JP33uw\nVFpyMrWEc5awTGOFStFxH6nHBj7W7uxZTrmOZ7+IJsTThj/P6n/N6wa9ngt7duAbNggXv17tiudC\n8QVW7luJk8bp5hBm9ZWQut887ffJLPinN3wUAbv/CDmnYeB98OQ5GP27ttlkTHgB6orNLvo9hckE\nR/4Nny0AG09YcQj6TodeEfDoMZjxutn64/1RsPt583vwa378L2Rd3tfBv7uv4DdNu2WwKIqlXRGI\nhISERHvIy8tj9+7dWMmdMTXIiEs/Q2CM1xVvsushiiKHDh3CysqKoUPbX0djMhmpLCzAztUdmbz1\nZuPXY1P8JlRyFff2uxeAt9MKsJGLLBnT/mna5hjmNoxhbsPYcNFce2ahaL3eqEFv5LEt5xGB9+4b\ngoXy2utLOhZFXUU501c93a5YzhedZ9X+VbhYurB+6npctTfuu9Yhcs5A9Gdm8VWcCIggyMAt1Fwv\n5h0OPiPAtvlm7K3iOwp6TTDbTgxdCqobWyhxwzRUmTNeyTsh9G6YvfbqGOQKCF8JIfPNgvTUB+aa\nskkvw6AHQCaH/Gg4+CoEzTGLU4luRcpRSkhI3HLodDo+//wLZEYl6uJAJi4O5mzaAbZv345WqyUw\nMPC6Y2RkZJCVlcWMGTPa5VMGUFlUyJ731pCXlICFlTW9Bg0lYNgI/AYMRmXRviLw0vpSItMjuav3\nXThqHEkqrOKg2sgqgxpry86rgVs1YBVLf1jKVylfcX//+1vd95WdCcTlVfHRA0PwcbzWLuSnVk3O\nPn74hg1qcwznis6xav8qXC1d2TBtQ8859xfFm1dVCjLwHm5u2O09HDyHdt5KxAkvwIYpcHqdeTVn\nd1GcCNsWm+vMpv/T3F6ppYyy1glmXxaQu/8EO56CMxtgyt/NWUOtk1nYSW2vuh1JnElISNxSmEwm\nvtj2FdVV1ThUD+KOFYPpNdCZgCGL2LhxI59//jlLlizB07NlI9qfsmbW1tYMHtx8H8iWjos7uJeo\nzesRBIEx9zxIWV4Ol86fIeHoIeQKBT4hAwgYOoKAIcOxcri+EeqWxC0YRSMP9n8QgHficlEJsHJQ\n52TNfmKY2zCGuw2/bvZse3Qen53MZuW4XkwNbn66MSP6LGW52cx4/Jk2TyWfKTzD4wcex03rxoap\nG3C2bP8Cgk5BVw7b7jOLsBWHwablDgQdwns4BE6B42vNprTqjvnMtYmL38D2J8xZsod2gN/oth3n\nHgYP7zJ7tu39M3x6p3n7A9+BZfvrOCU6jiTOJCQkbil2R+4jM/sS9o19WfjkeNx6mRuRW1hYcP/9\n97N+/Xq2bt3KsmXLcHBo/saSnp5OTk4Od9xxR5uzZnWVFez96G0unTuNd3AY0x97Ghsnc+bHZDSS\nl5xA+tmTpJ09Rcb6d9m//l3cAnoTMCScgKHhOPn4XSNk6vR1fJ70OZN9JuNj40N+TT3bZU0sqJfj\n6tz5XlKrBqzi4R8e5suUL3mg/wPXvJ5WXMPqb+IY5mfPc9P6tjjO2R3fYuXoRN9RbWvV9JMwc9e6\ns2HaBpw0Tjd8DR3CZISvl5kNZJfs7Dph9hMRq2H9RPPCgnHPdd15jAbY/xfzakyv4bBwc/uvTRDM\n05x9psOJ90BjBwETuiZeiesiiTMJCYluQafTkZSURGZmJkFBQQQFBbV7jOP7znPmwgmsRHcefHoO\n9m5X1/JYW1vzwAMPsGHDBj799FOWLVuGldXVIuenrJmtrS2DBrVtSi71zAn2ffQOTfU6Ih5czuAZ\nsxF+0fBZJpfj3T8U7/6hjH/gEcpys0k/e4r0c6c4/sVnHP/iMzTWNnj2649nv2C8+gXj4h/AVylf\nUaOv4eGQhwF473w2RgEe638DdU5tYKjbUMLdwq/4nmkUP0/B6poMrPrsPBqlnLfvHYxS3vxChKJL\naeTExzL+/qXIFde/hZwuOM3jBx7H08qT9dPW95wwAzjwd0g/CLPeAp9u8LTzGmIWOz++bTaltbDt\n/HMY9bBlAVyKgmHLzd5rHentqdLC+D90WngSN4YkziQkJLqM6upqkpKSSExMJDMzE1EUUSqVxMbG\nMnDgQKZPn95mR/7TPySx//gu1HIrHnliMXaOzRdZOzk5cd9997Fp0ya2bt3KQw89dJV/WWpqKnl5\necyePRvFdcRFo07HoU8+Iv7wflz8A5j5xLM4erU+3SgIAk7evjh5+xI+byF1lRVkXDhLbmI8eUnx\npJ05CYDSwoJ8mzpmevXHOs/Ax5cusUWvY2qdQO9eXTeVtGrgKpbsWcKXyV/yYLB5KrWpoZ6/bD5M\nfkENHzwyHjfblj+TM5Ffo9JYEjpp+nXPdargFE8ceAIvay/WTV3Xs8Ls4jdw/C0YsgSGPtx9541Y\nDR+NN2fPxv+x88c/usYszGa91b3XJdGlSOJMQkKiU6moqCAxMZHExERycnIAs2AaM2YMQUFBuLi4\ncOTIEY4ePUpmZibz5s3D17flpt6iSeTHb1M5dG4nghoeXv4Ado6tT/l5e3tz9913s23bNr788kvu\nvfde5HL5layZnZ0dAwcObHWMnIQ49rz3JjWlpYy4axEj5t/TrqbeP6G1sydkwhRCJkwBoLa8jNyk\neI6d+B7P1FK0VWN4OF1Pgn01A6oNPG7ftX+Wh7gOIdw9nI8vfszdfe+mODGZr956A7faSpYCp/+y\nmThrG7S2dlhefmjt7LC0tUelsSTl5HGGzLoT9XX6ip7IP8GTB5/E29qb9VPXd18j8uYovAjbHzev\nwJzxevee22OguZvAj+/A8BXm6cLOojAOjrwOIQskYXabIYkzCQmJDtPU1MSpU6c4e/YsUVFRALi5\nuTFhwgT69++Ps/PVxd8TJ06kd+/efPPNN2zcuJExY8YQERFxTSbLaDBxcHMi5xKPY9DWsOCuBbh5\ntM16oW/fvsyaNYsdO3YQGRnJnXfeSXJyMgUFBcydOxd5C/YXBr2e459/ytnvv8XO1Y17/v4vPPq0\nfwq2JdQGDW413vTRjWfbKGe+9VJibxT5fUEBjie/4Xh5KY62L9Br8LBOO+eveWzAYyzduYSP3lyN\n4WwaFQpb9APnsWiQK/XVlegqK6mrqkRXVUFBahJ1VZUYGhsBUChVDJ4xp9Xx92bu5YVjL+Bj48P6\nqetxsOjBovKfFgBY2JprsXqiIXnE85D0PZx8z7yKszMw6uG7x0BjDzP/3TljStw0dJk4EwTBARgC\nXJC80SQkbl/y8vL4+uuvKS8vx8bGhilTphAUFNRiMf5PeHt78+ijj/LDDz9w7Ngx0tLSuOuuu3Bx\nMRfZN9Yb2P1BHOlZyTTY5TNixAhCQkPaFduQIUOoqakhKioKa2trUlNTcXBwICwsrNn9RVFk97tr\nSDlxlAFTZjD+/mUoO6ERurGmCV1MCbroYhpza/nOS8HacBfqFQoe8XDiD4Ee2Cjk1M8ezdev/YXt\nb7zCzCf/QN+RYzp87ubwrLNhwQl/DNVpXLTtz9j7lvHw+D6trrxsaqhHV1mJTCHH2rH56Um9Sc9b\n595ic8JmwpzCeGfSO9hb2HfJNbQJowG+Wmpup7RkF1j3kNmtWyj0n2sutA9/tHPGPPYmFMbCos+k\nFZW3IV0izv6fvfMOj6J62/A925JserLpHUgChAQIvVcBAalKEynSbIifnZ+KKIoNpYiIVAEpChhE\nekcIPbSEloSQ3nt2k822+f5YBJEaSARx7+uaa3NNZs6c2dmdefac931eQRCcgU3AZuAbQRA6AzFA\n0tVNJoqiGCsIwkdAT+CYKIovX933pnUWLFh49DCZTBw8eJB9+/ZhZ2fHyJEjSUlJoU2be0zfB6ys\nrOjTpw8hISFs3LiRH374ga5duxLs14Adi89TkJ9HuXsi/j7+PPHEE/fVzw4dOlBWVsbBgwcB6N+/\n/21HzU5t+534wwdoO3QkLfo9c1/H+zuamByKfk0Ao8ilOnZ80d2ZsxhQ6pPY1vQJIhyuWyzY2Dvw\nzAefEvXFVDbP/hJ9pZYGHbtWSz/AnFV6+NefObJ+DUapnO3NMuncujfPt759ZuafKKxtUHje3sMt\nrzyPN/e/ycnckwytO5S3mr6FXFr1aeBqZfdHkLQXnpoDfjU3EnlPdHgXzm80Z1RK7y3L9bZkx8H+\nL83ZlfWeqp7+PQIY8vIoWLQI2zZtsG3TBuEBzZ3/zdTUyFkE8LooikeuCrXngdWiKL7z5waCIDQB\n2gLNgSmCIHQFiv6+ThTFXTXURwsWLNwnRUVFREVFkZqaSlhYGL1798bGxoaUlJT7aq9u3br4+vqy\nceNGtm/fzl7dUVyN9TAEXsbaZMXTTz99W0F1NwRBoGfPnlRWVlJcXEx4ePgtt8uMv8D+FYup3bQF\nzfs+fV/H+iuiKFK2L43S7SmUBzswP9Ke1cWlOMsM2Gd/zwf1294gzP7ESqlk4OSP+e3rT9n+/Sz0\nlVoad+/9wP0pzExn4+wZFCQnctE2GIfOg/BVLWZr2mpe1Y9AKb9zDNmdOJF9gjf3v0m5oZzP2n1G\n71r32d/KMijLAXU2lGWDOuf6qyYP3OpB8BNmB/67TU/GrjOXH2r6PDQZeX/9qU486pvNbo/+gLzp\nneMd74hRDxteNMeuPfn4TGeKokjm/95Dc+AAhcuWI/P2wmnAQJwGDkDuVcOWJ48gQk3WLxcEoT3w\nCbAOmABogNirf78KaEVRnCcIQkvgSaDk7+tEUfzwb22OB8YDeHh4NFmzZk2N9f9P1Gr1Ten4Fh4u\nlmvy8MjJySE+Ph6A4OBgPDw8rk2HPch1MWhF0o+YyC/JRuN4GRETAA0bNsTZuXqmxkRRvOXUnb5c\nw4V1KxCkUuo9/RwyqwecyhTB7byAY5qERH+RcXXt0AgCT1KJpmABVyrO8bHPx1hJbi/M/npeAAAg\nAElEQVQwTEYDSTs2UZKciE+LdnhG3p/1Q1lZGRXJCaQd/gOtKOWAewfaNa9HGx85SdokZubMpJ9T\nP7o4dqn6aYoie0r3sLF4IyqZijFuY/BWeN/z/tYVOQQn/IBNRSZWlUVITTcXZjcJMnQKF/Rye2w1\nqUhEPQapNUXODSl0aUqBaxN0VjcmG9iqrxB58m3UdrU53WgaouQhj+BdRalJo9nxiVz27E163bH3\n1UZA8i8EJa8kLuxd8t1aVXMPHx42Bw5gs3slJc/WA8EL271p2MQkIgoCurAwKtq2oTI8HGpwNO2f\neK506tQpRhTFu9aLqzFxJpjvgHMBX2AGkCiKYpYgCMsxi7WGwFlRFH8TBCEEeB3I+Ps6URRvO0Hf\ntGlT8cSJEzXS/7+yb98+OnbsWOPHsXDvWK7JP09FRQWbN28mLi4OPz8/BgwYcJNout/rkhybz57l\nF9BpjbQZWIc01Vk2bdlEhjIDqb+UCFUEEW4RRKgiCHIMQiqpvhu0yWRk/adTyLh0nqHTZuARVPvB\n2tMZKVxzCe35Auw6+DI3WMG8tDy2Nw3B3pRLnw19GBcxjomNJ961LaPBwLZ5M7kYvZ8W/QfTZvDw\nKhV3L8nNZs3nH6POSCXZxp/0Bk/x9ch21PqLwe34HeO5VHSJrQO2Vmn0TK1TM+XQFHam7KSrf1em\ntZmGnaIKD7biNPixl7ngdp0u5ngwO4+bX22cr5cP0mngyh+QsAPid0Bpunm9R7h5RC24G7jWhkVd\nzCNM4/eD/UOq3Xk71o/DeO43pGO2gk+Tqu2bcw5+6AD1+8DTS2qmfw+BwsQ9XNj0EtpwPfzl420t\n98I61wEhOgfZGTVWejec+w7A6ZmnUfjf3tJGNJkwlZdjUqsxlVcg9/ZCcg+xo//Ec0UQhHsSZzWW\nECCaVd/LgiBMA7xFUTxw9V8ngGBADfwZwGAHSG6zzoIFCw+Z5ORkoqKiKC0tpVOnTrRt2/a+pxn/\nikFn5ND6RGL3Z+DqY0ff1+qzsWgtM2NmUq9+Pbr5diM2L5adKTtZn7AeAFu5LQ1cGxDhFkG4Kpxw\nt/AH8s86vHYVqXFn6Dbh1QcWZkaNnoJl59ClleH0VC3krbxYdegc3VWOhNsr+ejwMuQSOcPq3lsh\naalMxpOvvI7cyoqjUT+j11bQceS42wo0URQpzEgj8fgREo8fJvtyAgaJjD9cO9CiR09m9KyLlezG\n6/ZSo5d4butzLD23lBH1R2CvuHuZocSiRP5v3/+RVpbGm03fZET9EVUSjZRkwLKnzMJsxAbwuccS\nWgpbCH3SvIiiuY5kwg5I2Gkuk3TwG3O9TIkMRm999IQZQOf30MfvQbq4G3R6D9pMMhcavxt/Tmda\nOz4205klpWe4kvQtBYV7EUIE/FQjCKj7AlptJiUlJykuOUmJEIOudzH0Bok+l7zE75HP/h4HaV1s\ny/0Qy8oxaTTmRa02v5aX33AcwcoKZdOm5li2tm2wCg6u2uf1IVBTCQHvAFmiKC4HnID5giBcBOKA\nfsB0QAcMAtZgHkVLxpw08Pd1FixYeEhUVlZy4MABDh48iIuLC2PGjMHXt3rc6/PT1exYfI6iLA0N\nu/gR+ZQfn56YxsbLG+ke2J1pbaZdc7AXRZGU0hTO5p/lbN5ZYvNjWRq3FINoAKCzX2dmdJhR5QD0\npFPHOfLrz4R17Ep4524PdD6GQi35S+IwFGtxGVYPZbiKX3OKKNQbGenjai5wnriRfnX6VcnzSyKR\n8sT4icitbTi55Td0Wi1PjH8ZydUHuslkJCshnsTjh7l84ghFWZkAiG7+HHNtSYpDHaaP7ESXercW\nKo3cG9HGpw3zz8xn/pn52Mvt8bLzwtvOG29bb/Pr1b+97Lw4knmEqYenopQpWdhtIc08qxhoX5pl\nFmaa/KoJs78jCOY4Lo/65sLiFcXm4P/Le6BOV/C96+DEw8E5kBNNZ9O26BdzwsLlPTBgATjcZTo4\nehZknTHbgdg+RM+4aqCo+DjJV+ZSWHQQqdEG+y1SanX4CFXDoQBYWXng6NgYf8YgiiJabfo1sVZs\nfxR13UTUwnnkBZdxjQnArtAXuZ8vUjs7JEpbJHZ2SGxtzYu1FRXnzqGJPkTul1/ClyBzc7uWdGDb\nuhUyV1cqKtIQxcyH/M5cp6ZGzhYAvwiCMBazIGsPrMQ8YLlRFMVdgiBIgM8EQZgN9Li6pNxinQUL\n/3mysrKQyWQ3+YXVBHq9noSEBOLi4oiPj8dgMNC4cWN69Ohxg9P+/SKaRM7uTedQVCLWSjlPTWyI\nspbI+D1jOZN3hpcbvcyEiAk3/LIVBIFAx0ACHQPpU9vssaU1aLlQeIED6QdYGLuQdw+8y5ftv7zn\nKc+S3By2fvs1bgFBdBnz4gOdky5DTf7SOESjiNvYcKwCzWV6lmXkE2ijoL2zPXNPfYvepGdkWNWD\n0wVBoOOIsShsbDiyfg36Si3123Ui8cQRLp84SnlJMRKpDL8GEcgadmJJqpLkChkDI30Z5lhwW2H2\nJ990+IY/Mv4gS51FpjqTLE0W6WXpHM8+jkavuWn7SPdIZnSYUfXi5WU5ZmGmzoHhv1avgLJxMgfc\nh/WvvjZrCIPcDp5ZBqd+gq1vw/etoc+3t8+8zDkP+76AsAFmS45/IaIoUlR0iCvJcykuPoZc7kqg\n4xgqJ6zGvmU3XPsOueV+giBgY+OHjY0fnp7mczcYyigo+IOkKzPJdo3HydGROnVextHx1okWjn3N\n++mzstAcOoQmOhr13r2UbNiArpaJin62aGqXIimvA9zbqHZNUyPiTBTFIuDvee8Rf9vGdDVDsxcw\nWxTFKwC3WmfBwn8Vg8HA3r17iY6ORiKR0KFDh2qbUvwrRqORy5cvExcXx8WLF9HpdNja2hIZGUl4\neDh+fn7VchyT0cSW+bGkxBYQGKGi83N1SdVfYezmiRRpi/i6w9d0C7y3ESxrmTWN3RvT2L0xjlaO\nzDgxA7sjdkxtNfWuUxYGvZ7fZ36OKIr0ef1/yBX3Lzq18UUU/HQBiVKG2/gGyN3NcVsX1BUcLdEw\npbY3FYZy1lxaQ9cAc4HzW1Gq1ZOUpyHQVYmT8ubaiIIg0GbQcORW1hxY9SOXDv2B3NqGoMZNCW7W\nEp1XKJ/uvMLRS4U08HFgfZ8GNAlwvmYKfCeUciU9Am/+LSyKIqW6UjLVmWRqMslSZyGXyBkQMgB5\nVYPs1XlmYVaaCcPX/zO1LR9lBAEinwP/VuZi7D8PN5eW6j7dPH37J3+dzvyXms1WVKQRd+41SktP\nY6XwIDj4fbxVA0h9djQyhQNeH31UpWlGmcweD49euLl1IzNrLUlJszgRMxB3957UrvUGSmXgLfeT\ne3nhNHAgDv37kpe7jeT4eagNl5BUqrHbJUVa7ASPiDPJQ60QIIpiBebkgDuus2Dhv0hWVhZRUVHk\n5uYSGRmJTqdj7969XLx4kX79+uHh8WDxNCaTiZSUFOLi4jh//jwVFRVYW1sTFhZGeHg4AQEB1S4C\nk07nkxJbQKv+tWnczZ89qXuYfHAy9gp7lj25jPqu9e+r3ZFhIynVlbLg7ALs5Ha82fTNO97s9y1b\nQE5SAn3ffB8nzxvT9EVRpLhcj0QioJBKkEkFZBLhlu1pYnIoWp+A3EOJanQYUofrIu/HjHysJAJD\nvFxYH7+KMl0Zzzd4Hp3BxOU8NZeyy7iYXcal7FIuZZeRWWLOVJQI0CTAmU513elc151QD/sbjt28\n79N41g7BqNfh16AhGj3M3BXP8k0xONrImd4/nMHN/JBKHjymRhAEHK0ccbRypJ7rA1RJ0OTD8j5Q\nnArD10HA45Nl+MCo6sCYnbD3E4ieAymHYOAi8Gpo/n/0bMg6bR5ps32ItUkfgCvJc1GrLxEaOg1v\nr4FIJFbkzZlD5fkL+Hw7B5nr/U3TSiRyfH2G4enRh9TUxaSmLSIvbwc+PkMJCnwFheLG98tgKCMz\ncy1p6T+i1WZgY+NPSK2peHkOQGgH0Tt3VsfpVguW8k0WLDxiGI1GDh06xN69e1EqlQwbNoyQkBAA\n6tevz6ZNm1iwYAEdO3akdevWVRZQRUVFxMTEcPr0adRqNXK5nLp169KgQQNq165912LgD8KZ3ak4\nqKxp2NWPRbGLmHNqDuGqcGZ3ml31KbK/8UqjVyjTlbH8/HIcFA5MaDjhltud/2MPZ3ZupVmfgdRp\n1vLaelEU2Xk+h2/3JBKbUXLTfnKpgFwqQSYRUMgktDVKebNCznmFyGJBA6tPYqOQYiOXIlNIiVJB\nbYOEebtO8Xv+EpyEery+ooCkvG0YTOK1Nmu72dEsyIVQT3tqqWw5l1nKnou5fLntEl9uu4S3o/U1\noda6tgobhRT/BhGYTCK/nEjjy+2XKC7X8WyLAN7oFnLLUbeHSnkhLO8LhUkw7BcIrJmqB/9qZAp4\n4mOo3RmiXoBFXaHrVKjVEfZ9fnW6tt/D7eN9YjRWkJu7FQ+PXvj6mKcMK2Jjyf9hAY59++Bwn+bS\nf0Ums6NWrUn4+AzjSvIcMjJWkZX1KwH+4/H3fx6droj09GVkZP6M0ajGybEZIcEfoFJ1RhCu3j/t\nwORcjXVPHxCLOLNg4RGioKCAqKgo0tPTCQsLo1evXij/UmC6fv36BAQEsHnzZnbv3n1tFO1usWgm\nk4nLly9z/Phx4uPjEQSB4OBgIiIiCAkJQaGo+Qd69pUSspNKafl0EP+LnsyWK1voVasXU1tNxVr2\n4CWSBEHg3ebvotapmXt6LvYKe4bVuzF+JC81mZ0Lv8O3fgPaDhkBgMkksjUum2/3JHAxu4wAVyVv\n9whFIZVgMInoDSb0JhG90YTBaEJvFBEqjQw5W0q2jcCGQCusjSYq9EYKNToqdEaynWQY3GzJTlnP\nGtnvIBigcAghLkq61vMg1NOeup4OBKlsUchuTErv0cCLN7qFklOqZe/FXPZczCXqVAYrj6aikElo\nVcuVtnVU/H42k7PpJTQLdGZqn+aEeTs+8HtY7VQUmYVZfgIMWwO1OjzsHj3a1OoILx6CjRNh+/9A\nZgPWDtBzxsPu2X2Tl7cTo1GDl6c5FtCk1ZL5zrvI3NzweO+9aj2WlZUbdUOn4ec7mstJX5F0ZSZp\n6T9iMJQC4O7eE3+/53FwuHX5tkcJizizYOERQBRFjh8/zs6dO5FKpQwcOPC2Tva2trYMGjSIuLg4\nNm/ezPz58+ncuTOtWrVCIrnxQV9eXs7p06c5fvw4RUVF2Nra0r59e5o0aYKj4z/7MD+zOw25tYRZ\nmo84nRHDpMhJjGkwplpT2iWChI/bfIxGr+GzY59hp7C7lkBQWV7O799Mx0qppPekdxAFCb+dzmDu\nnkQSctXUcrNl5uCGPBXhjUx6Zxefot8S0RhKCJrQkHm+N1pPJBQm0PdMBjJdCjZWG+ldqxcj6o8i\nxKVOlc7Fw8GaIc39GdLcn0qDkeNXithzMZe9l3L5dMsF3O2tmDW4EX0beT+atgAVxbCiP+RdhCGr\nzaNCFu6O0sVcLzNmKeydDr1n3XU6U3v+PIK1NYqgoEfus5CV/SvW1j44OTUHIG/mTHRJSfgvWYzU\nwaFGjmlrW4uI8O8pLj5BatpibGz88fMdibX1vRskP2ws4syChYdMSUkJGzdu5PLly9SuXZu+ffvi\ncA83rQYNGhAYGMimTZvYuXMnFy5coF+/fqhUKjIyMjh+/DhxcXEYDAb8/f3p3Lkz9erVq9Fpy9tR\nVqjl8slc0gNjOVd6lpkdZ9I1oPpqRv4VmUTGlx2+5OVdLzMlegq2clvqFLuy/6fFFOdkM/C9T9h6\nWcO8vWdIytcQ4mHHt0Mb0zPc657itHRpZWiOZGHXyhvFX4TZ6dzTLI5bzM6cDIo9p9DFLoOv227F\n0/bBi21byaS0DVbRNljFlKfqk1FcgYtSgY3iEa09WJoFPz9rrgE5ZCUE18y1fmwRBHPZqabP33XT\n/AULyfvmGwBknp7YtmmNbWvzIqumyhr3i7Yym8LCaAIDX0QQJGiOHKVw2XKchw3DtnXrGj++k1NT\nnJweUUuVu2ARZxYsPERiY2PZvHkzRqORXr160bRp0yr98rWzs2Pw4MHExsayZcsW5s+fj0qlIjs7\nG7lcTqNGjWjatCmeng8uEB6EU3uSMZlM/OG0gRkdZtDZv2ZHUaykVszuPJtJa8aw5cvP8M6zxl7l\njnPvsTy3pYDUwjTqezkwf3gk3ep7IrnH4HnRKFIUlYDEToFDtwBEUeRgxkEWxy0mJicGRytH/Pw/\nRG8UWNBiCLaymhFPPk63L0D+UFHnwsGZcHwxIJo9uUK6P+xePZaIokjujBkULl6CQ8+eKFu0QHPo\nEGU7d1Gy/lcQBKzr1bvq59Uam8hIJNUcvlB+4gSaQ4dRBAVhFRKCVVAgwl+OkZP9G2DCy7M/RrWa\nrP/9D3mAP+5vvlGt/XgcsYgzCxYeAgaDge3bt3P8+HF8fX3p378/rveZsSQIAhEREQQFBbF161aK\niop48sknadiwIdb3ULKkptFoKji9P5lk13P8r+tbNS7MAErzcon+eQX1DmrQy605FVaGxnMQp2Kl\nNPSVM6V3U7rUc6/yFJD6cCb6TA0uw+qSrE3l7R1vc6noEh5KD95p9g4dAvvQ5tgVhnu71pgweyTR\nFMCh2XBsIRgqodFQaP82OAc87J49lohGI1kffkjJuvU4DR2C5wcfIEgkOA8ehGg0oj13Dk10NJro\nQxQsXUrBwoUI1tYomzXDechg7LtUvY7qDcc3mShYsIC8Od+CyXT9HzIZisAArIKDUQTXIT10NfbW\n9bGx8idryhT02dkErPwJifLey4T9V7GIMwsW/mHKyspYu3YtqamptGrViq5du1aLZYW9vT2DBg2q\nhh5WH3qTni9+mo+HviEtugXTs1bPGj2eVq3m6IZfOLXtdwCaPTWAwK4dGbhtLBXGb3m91wwmtm1z\nX3E5hpJKSnekYB3qTHkdgZe2vkSFoYJP2nxCz6CeyKVy5qbkoBNFRvj8ux3c75mKIjg0F47ON9e9\njBgEHd4x17e0UCOYdDoy33qbsu3bcX3xBdxeffVGw2apFJuICGwiIlC9+CJGtYby48fQRB9CvX8/\n6S+/gkPv3ni+/x5Sp6pnJxpLSsh8+x3U+/eb2/ngffQ5OVQmJFxdEtHGnaMgbgvayQasfszl0stN\nEbVaXMePR9m4cXW+HY8tFnFmwcI/SGpqKr/88guVlZV3DPp/HDCajLz3x3s4XWiC1FPH4A59auxY\nBp2O09s3cTTqF7TlGsLad6b1oGdxULkzbdN58hNH4RG6mPWZU+hdupRajrWqfIyS3y8jmkSUvf0Y\nv+9lCioKWNpjKQ1UDQAwiSIrMgto6WhLXdtHdNqxutCWwpHv4fB3UFlitnroOBncQh92zx5rTOXl\npE98FU10NO7vvIPr6FF33UdqZ4t9p07Yd+qE+M7b5C9YQP7389EcPYLXxx9j36nTPR+/4tw5Mia9\nhj4nB48pH+A8dCiCICB1dMT6qt3Pn1w6PwUh+2cCn/wAY+0MRJ0O1SsvV/WU/7NYxJkFC/8Aoihy\n4sQJtm7diqOjI8OHD3/ocWA1iUk08dHhjzh/Ko0ntT3o0jusxo51LuY4m9b8hD4nk+B69ek0dCTu\ngWbxtehAEosPXmF0m0iea9eG0dtHM3b7WH7s8eNtnfpvRcXFQiriCnDoHsDUC59yJu8MX3f4+pow\nA9hXWEaKVsfkWl53aOlfjr7CLMoOzTGPmtXtbRZlng3uvq+FB8JYUkLahBeoOHsWr08/wWngwCq3\nIcjluL38MvadOpH57mTSX3wJx3798Pjf5DtmToqiSPG6deRM+wSpqyuBP63ApmHD225vMunJKdiK\nm9sTqDoPr3I/LVjEmQULNY5er2fz5s2cPn2a4OBgBgwYgI3N4zuyIooinx/7nKjEKF4onY6dixW1\nG1d/TVCjKLLg0hW+yNWj7Tn62npFchl26bEIRpHCkkpcOnlzwcOa6ekCjcO+44/4WYzeMYFl3Rfi\na3/3Iu4mnZHiDYnI3JWsdNjM1ritTIqcdFOZqWWZ+ajkMnq6PYJ+Y9WBvgJWPgPJByC4O3SaDN6W\nKap/An1uLmljx6G7cgWfWTNx6HZvJc5uh3X9+gStW0vevHkULFyE5sgRvKZNw67dzQbBpooKsj+e\nRklUFLZt2uA946u7ZoEWFOxHry/Ey2vAA/Xzv4xFnFmwUIMUFxfz888/k5WVRfv27enYseNNXmSP\nE6IoMvPkTFZfXM0o9xfgsC0RA/yQ3MU3rKocLlbzfnw65zRa/ItyGd+0ISjtUBuMqI0mEgo07E7M\nw8XeilA3O4oNRjIqdaRqjVQ6v0KWqKPzoYO8WKcZ/bx8CVLevrZm2e5UjMWVJDylZl7cPPrV6ceY\nBmNu2CZdq2Nnfimv+LujeByvr6HSXPsx+SD0/wEa3rpI9eOGqbKSohUrKD8Rg9TREamLC1JnZ6TO\nTsicna/+7YLU2QmpoyNCDVx7XVoaqc+PwVBQgN+CH7BtVT2lrwSFAvfXXsO+Sxcy351M2rhxOD3z\nDO7vvIPUzlzbU5eSQvqk16i8eBHVSy+hevklhHuIj83KjkIud8HFpV219PW/iEWcWXisEUXxoZky\nJiUlsW7dOoxGI0OGDKFu3boPpR//JNtKtrEldQuDQwcTcaEjSVb51G9bfdN8GVod0y5nsiG3GA9M\n9NnxM+PbtqZpSNC1bc5nljJ4cyz1naxZ278ZjjbXC3SXG00cKlazPiOZTTnOfJFaxhepFwi0UdDJ\nxYHOLva0drbD9uoDSJ+toexABhVhMt5Ieo+mHk2Z0nLKTZ+pnzILEIHh3o9hIoDRAOueh8Rd8NTs\n/4QwE0WRsu07yP3qK/QZGShq1cKkrcBYWISo1d56J4kEhb8/nlM+qDYPL218PGljxiLqdAQsXXLH\nqcT7xSY8nKBf15M3Zw6FS5aiiY7Ga/qnmNRqMt+djCCV4rfgB+zat7+n9vT6YvLz9+Dr+ywSifzu\nO1i4JRZxZuGxxGQysXXrVs6cOYOnpyf+/v74+fnh5+d3Qzmk6kan05Gfn098fDz79+/H1dWVIUOG\noFL9OwsWV4Vl55axpWQLfWr3YVLdN/hpxRHC2vtgpXzwG7TWaOL7tFzmpOQiIjLJ2xnbWR/i4uRE\n5JO9r22XXlTOqKXHsLOWsez55jcIMwClVEJXVwe6ukbwYh6M3vM/pHYtCHB6hjVZhSzNyEchCLR3\nsefNAA+8oxIRrQReEz7C29abmR1nIpfe2KbOZGJlVgFdXR3wt7n9CNy/EpMRNrwAFzdBjy8oFxqi\nnjED52efRe71eMbWac+fJ2f6Z5SfOIFVSAj+S5fcMFplqqjAWFSEoagIY1ExxqIijEWFGIqKKNu+\ng9Tnx+A8fDjub7yO5D7DF0STiZKoKHK+/AqJlRUBP63AKji4uk7xJiRWVni89Rb2XbqSNXkyqaPM\nYQLWDRrgM2sWCl+fe24rJ2czoqi7Vq7Jwv1hEWcWHjtMJhObNm3i5MmThIaGolarOXToEKarfjwq\nlQo/P79rgs3V1bXKo2vl5eXk5+eTl5d37TUvL4+SkusFs+vVq0e/fv2wsnrMHth/QxRFvj/zPd+f\n+Z7GysZ83Ppjjv+ejMkk0rDz3WO67tb2tvwSPkzMJFWro5ebIx/W9ubSioXEFhXyxFvvI5GYR7mK\ny3WMXHIMrd7Iuhdb4+V45wdjhFsECzt+zAu7XqBSH8OhbotJ0CrYXVjK2uxCepxMoIeDHk+rvRRL\ny1jVZRVO1jdbD2zNLyFPZ2Ckz2MmwE0m+H0SxK6FrlMpyfUm672RiHo9hctX4Pzss7iOH/fQXeir\nC0NeHrmzZlHyaxRSJyc8p07F6Zmnb5rGk9jYILGxQe59cykg1YQJ5M2cSeGy5Wiio/H+4nNsIqpW\nx7HizBmyp32CNi4Om8hIvL/8AoXvg32P7hVlZGOCNkSRP28eosGI2/+9VmXj2qzsX7G1DcHOrn4N\n9fK/gUWcWXisMJlMbN68mZMnT9KuXTs6d+6MIAjodDoyMzNJS0sjNTWVCxcucOrUKQCUSiVeXl7X\nYsFEUbztq9FopKCgAI1Gc+2YMpnsmuCLjIxEpVLh7u6OSqV65OrcVTc6o44PD33IpqRN9K3dl076\nTogGOPdHJkERKhzd7n+UMl6j5YOEDPYXlRFqa83ahrVp52JP+sVznN29jSa9+uFRy1yvUqs3MnbZ\nCdIKK1gxpjkhHvZ3ad1MpEck33X5jpd2vcQru8azuNti2rv48JrKha9+i+MnXyk6oTv9XJ/EwebW\nowfLMgrws1bQyeXejvmvQBRh2ztwagViu7fIPykjf947KJs3x+N/kylctpzCZcsoXrsW17FjcBkx\nosrGouaRpu2UHzuGbfv2OPbqhSD/56fBTJWVFC5bTsH8+Zj0elxGj0b14gtI7at+PSXW1nhMnoxd\np05kTv4fyUOHoZowAdWLL9z13Ax5eeR+M5OSqChk7u54f/UVDr17/eP3EImNDe5v3J+Dv0aTRGnp\naerUefexv/fVNBZxZuGx4U9hFhMTQ9u2ba8JMwCFQkFgYCCBgYHXts3Pz78m1nJzc6+18+c+t3qV\nSCSEhISgUqlwc3NDpVLh5OT0WAf5345ibTGT9k7iZO5JXm38KmPDx7J//34uHc1Gq9HTsIvffbcd\nW1ZOv1OJyASBT4J9GOmtQi4RMBr07Fr4HfYqN1oPehYAo0nk1dWniEkt4rthkbSoVbW4r2aezZjd\neTYTd09k/M7xLOq+CHFHFhMulnPM+C32YZP4rdCevUcuMCnAg+d9VFhfTXCI12g5VKzmvVpeSB+X\nh5Eowq4P4dgCTE1fJGtLMaWbV+LYvz9eH01FUCjw/mw6rs+PJnfWbPJmzaZw5UrcXnoJp6efvqMI\nMao1qHfvomTzZjSHDoPBgMTRkdItW8mf+x2uY8fiOKB/tZcZuvVpipTt2GmOK++RUGkAACAASURB\nVEtPx65LFzzefgtFwINXNbBt2ZJaG38j55NPyZ83D/W+fXh/+QVWderc3A+9nsKfVpI/dy4mnQ7X\ncWNxnfDCtaD8fxPZ2VGABE+Pvg+7K/96LOLMwmOBKIps2bKFmJgY2rRpQ5cuXe74y00ikeDu7o67\nuztNmjT5B3v6iKDTQFEyeNyf/1hqaSov7X6JLHUWX7b/kieDngTM1+HM7jRUfnZ4B1fdfRzMQf/P\nnb2Co0zKpshgvK2vP6iP/7aegvRU+r/zIQpr87Tlx7+fY8f5HKY+VZ+e4fcXB9XauzWz285i4fZv\niVq4hC5pTVjruoPeDdvyWpN2XFBXMO1yJh9fzmRJRh6Tg7zo7+HM8sx85ILAEC+X+zrufZFzHn5/\nFYrTQG4NciXIbf7yevVvmfl/3gV6KPC7d9f+/V9C9GwMdYeTviqNipMncfu//8N1/LgbvlNWwcH4\nfTeX8pOnyP3ma7I/+piCH3/EfdIk7Hv0uJa5aKqsRL1vP6WbN6Pevx+xshK5tzeuo0fh0KsXVqGh\nqPftI3/+fLKnTiV/3jxcxzyP06BB9x2z9edxDTk5GHJy0OfkYsjJRp+TgyEn17wuKwtDTs4t48qq\nA6m9Pd5ffI5dl85kfziVKwMG4vb6/+EyYsS1bdTR0eR8Oh1dUhK2HdrjOXkyiqs/IP9tiKKJ7OwN\nuLq0xcrK/WF351+PRZxZ+NfzpzA7ceIEbdq0oWvXrpYh9TthMsKqwZASDWN2gW/VxOnJnJNM2jsJ\ngEXdF9HY/brXlTobirLL6Tqq3n1dgzKDkeFnk1Abjfz+N2FWmJnBkaifCWnVjlqRzQBYeTSFZYdT\nGNcuiFFtgm7X7C0xlunQpZRSmVxKZXIJgZkCn5omYsLEaeUlciMr+TzyVQDq2dmwqmFtDhSWMe1y\nJi9fSGV+Wh7JFZX0dnPETfEPTMeJIhxbADs+AGtHCO0Bei3oy8GgNfuQafLMr/py86uunBC9BhIW\ngHMQ1OkCdbpCYDuwsrv5GNGzYd90Kr37kbY4AUNurtlXq0eP23ZLGdmYgBUrUO/fT943M8l4/Q2s\nFy3GedhQyo+foGzXLkwaDVJXV5yefhqHXr2wadzohs+HfadO2HXsSPnhw+TP/4Gczz4n/4cFuIwa\nhfOwoUjtbtHXq5h0OirjE9CeO2dezp9Hn56Osbj4pm0lSiUyT09kHu7YtmyJsllTHPv3vyd7iPvF\noVs3lJGRZH0whdzPv0C9Zy/ydm1JW7cO9a7dyAP88Z3/PfYdO9ZYH/4JioqPoq3MpHbttx52Vx4L\nLOLMQo1SWVnJ7t278ff3p0GD6ncRF0WRrVu3cvz4cVq3bm0RZvfCwZlmI1G5Lfz2MkzYD7JbJy1U\nluu5fDIP90B7XH3s2HplK+9Hv4+PnQ/fdfnuJpf9gksiSkcFdZp6VLlbepPI+HPJxJdrWRlRi3p2\n10dNRFFk16LvkMkVdB41HoBjVwr58LdzdAx1490n6921faNGj/ZcAZUppeiSSzAUXLVEkElQ+Nlh\n394XRaADx6VnOZ6XxkfNpyERbpyubudizzbnEKJyivjsShZlRhOj/4lEAHWu+Vol7IDgbtB3Htjd\nm7Hv0S2raaFSm60wTq+G44tAIgf/ltfFmkcD8/qdU9DYdCF90UUEuZyA5cvuyb5BEATsO3bErl07\nSjdtIm/2HLLe/wCJvT32Pbrj2KsXyubNEWS3f+QIgoBt69bYtm5N+cmT5M+fT94331CwaBEuw4fj\n/NxwJEollfHx14XYufNoExJArwdA4uCAdf362PfojtzTE5m7BzIPd/PfHh53FHk1iUylwnfed5T8\n+is5n07H5dgxNEolbq+/jsuokf/ING5Nk531K1KpHW5uD2aQa8GMRZxZqDGKi4tZvXo1OTk5HDt2\njOzsbDp37lxt8VmiKLJt2zaOHTtGq1ateOKJJyzC7G6kHYO906HBQIgYDKsGwR8zoPN7N21qMprY\nvjCOtAtF5hU2BuJt4+jk3483u7+Il8ON4qAgQ40mG1r08UUqq9o1FkWRd+PT2FtYxtehfnR0ubGU\nzLn9u0k7d5auY1/G1smZjOIKXvwpBn8XJbOHNEYqufN1NxRryVsQi7FQi0QpQxHoiG0LLxQBDih8\n7BD+0t/2dKR9cMfbtiURBAZ6utDLzYmkikrq29VwtYf4HfDbS1BZBj1nQLOxUIXPeYXSC5p3hObj\nzGayqUfMQu3yHtg11bzYuoMml2JNS7LWJWAVFIjv9/OrZKEA5qLbjn37Yv/kk1ReuIBVvXr3JTyU\nkZH4L1hARdw5Cn74gfx58yhYsgTRYACDAQCJoyM2YfVxHTUS6/r1sQ4LQ+7n98jeAwRBwGngQJQt\nWnBmzhwavfEGco+q/4h5FDEay8nN24aHe2+kUuuH3Z3HAos4s1AjpKens3r1agwGA0OHDuXSpUsc\nPHiQ/Px8+vfv/8D2En8Ks6NHj9KyZUu6dev2yN6UHxkqimHdGHD0gd4zzVNjEUPg4DdQvw943liE\n/fCGJNIuFNFyQBBbszaTH19B7bIIpCcV/HoyFmcvW/zrueBbzxmfEGfO7ElDkEJY+5stBu7G3NRc\nVmYVMinAg2f/ZuRaXlrC/hWL8Q6tT0SX7lTojIxffgKdwcTCkU1v8jL7O4YiLXkLYzGV61GNC8eq\nlmO1fFaspZKaFWZ6LeycAsd+APcwGPk7uN99hPCOyKygVgfzwjQozYLLexDjd5K3L4+CvUnYtmmD\nz6yZ95Wt+CcShaJaDFNtGoTh++0cKhMSKFrzMxKlEuuwMKwbhCH38flXfucVvr5oevZ8bIQZQG7u\ndozGcjwt5ZqqDYs4s1DtnDt3jqioKOzs7Bg5ciTu7u6EhITg7u7O9u3bWbJkCUOHDsXJ6f4CxkVR\n5PLly6Snp9OiRQu6d+/+r7xJ/6OIImz6PyjNgOe3m4UZQI/PzCMoG16CcXvgqsFq/PFsTu9Mxau5\nNfPETzjGMV565iUmhHejIFND2oVC0i8UEvdHBmf2pJHnIiPOV05kmBQbu6qNlGzIKeLTpCz6uzvx\nTtDNxeD3L1+ErqKCJ8a9DILAW+tOcz6rlCUjm1Hb7c7TVIZCLXkLz2KqMOA2JhyF37/E7iLnPKwf\nA7nnocWL0HWqOfi/unHwQmsdSc6WnZQfTcJpyGA833//jtOPDwOr4GA8P3j/YXfDwm3Izo7C2toP\nJ8f/YHJVDfFofQMt/KsRRZEDBw6wZ88e/Pz8GDJkCLa25nRwQRBo2bIlKpWKtWvXsnDhQgYPHoy/\nv/9dWr2R7Oxsph2PJU7pxkvNfenRwyLM7olTK+Dcr9DlQ/Brdn290gV6zYBfRsChOeQ3Hcn+U0fJ\nXKkg3zGdBcJspLkSpredzlO1nwLAzc8eNz97IrsFcKm4nE/Op7OzshyAg9gQe+YybwV5EulwdyuA\no8VqJl1MpaWjLbPq+SP527VMOXua8wf20qL/YFR+Aczbl8ims1m806MunereOSPMUKglb8FZTFoj\nbmPDUfhWQZiJYpWmDquNvwf9P7sOgp+okUPpc3LImzWbkg0bkDo64vnRRzgNesbyfbJQJbTaLAqL\nDhEU+AqC8N+zFKopLOLMQrVgMBjYuHEjZ8+eJSIigj59+iC7xa/vOnXqMHbsWFavXs2yZct46qmn\naNSo0R3bNplMJCYmcvjwYQ4WlvF7wzZgJ/CpQoaqsIwurg533P8/T94l2PoOBHWANq/d8C+DycBZ\nVz8OBjfj4MWFXLm0loFn30Qq02HsksL0Op/S2rs1ztY3usCnVFTyTXIOa7MLsZZKeC3AgxHernx1\nOIbtZVJ6xiTQxcWBt4I8aeRwoznp6bRiglS2FIgmRsVewddKwZLwIKz+Fouo11Wya9F3OHt503LA\nYHZfyOGr7Zfo09CbFzrUuuMpXxNmlUbcxoWj8KlCIPjez+DofGgyClq8AA7/UJmismzYOPG+gv6r\ngkmjoWDxEgqWLgWDwWy6+sIEpA6W75GFqpOd/Rsg4mkp11StWMSZhQdGo9GwZs0a0tLS6Ny5M+3a\ntbvjr283NzfGjh3L2rVr2bBhA7m5uXTt2vWmRAG9Xs+ZM2c4cuQI+fn5yJyciW7UjiBrBaO1hayS\nu/Hs2SRGeLvyYR3va8WqLfwFvdYcZya3gf4/wNX3OCYnhpUXVnIk8whl+jKkgoSGopTR8WMQTC70\nfyMSz6D+pF88x7bpnxEQ3ojQ1u3QqTyYlZzDqqxCJAKM83PjFX/3a1YSfYVKprVszpKMfL5PzaVH\nTDxPuDrwZpAnEXY2zNwZz5w9idjayzG28kCQS1jZsBYu8htvRaIocnjtKopzsnjmg09JLq5k0prT\nhHk78MXAiDt+vgwFFeQtiMWkuzpiVhVhFvcr7P8c3OrCoTlw+DtoOBhavwpuoVV//6ty3M2vm+0v\nnvzKHLxfzSNYotFISVQUebPnYMjLw/7JHri/8cY/VhrIwuOHKIpkZUfh6NgEpfLBzXstXMciziw8\nELm5uaxatQq1Ws0zzzxDWNi9mZoqlUqGDx/O1q1bOXToEPn5+QwcOBArKyvKyso4fvw4J06coLy8\nHC8vL/r3789siT1lBWWsaRBEYUwe25qE8MWVLOan5XGwSM3cev5EOv77XLWri0qTiR8z8inWGxnn\n52YWPLs+hJxYGPYLOHih1qmZGTOTX+J/wdXalW6B3Wjj04YWXi04u+gAZ8ps6Nw2E8+gzpSXlrBp\n1hfotVoSUlOZnlHI6QYtESVSBrnY8na9QLysbo4vs5NJeTXAg9E+Khan5zE/LY/uJ+Lx00HOiVz6\nNfZhl6NIscmE07EC1lcoGNM2CCelua3inGz2LJ3PlVMnCOvYFcda9ek3LxpruYQFzzXFRnF7Ef6n\nMBP19yHMsmPNdhV+LWDkJnN83uHv4NRP5iW0J7SZZLagqC7KC2HLWxC3DrwjzQLaLaT62r+KOjqa\n3C+/ovLSJWwaNsRnzmyUjRvffUcLFu5AWVks5eWJ1A399GF35bHDIs4s3DeJiYmsXbsWmUzGqFGj\n8K3iL3CpVErv3r1xd3dn69atLF68GG9vb2JjYzEajYSGhtKqVSsCAgJYmVXIlktpfFjbmwh7Jfsw\nZ8t9WMeHrq4OvHohladOJTApwIP/C/BEfhdrhX8LoiiSXlTBqbRiQjzsqOt589STKIrsKCjlw8QM\nkit0CMCSjHzeUBYy6tgiFC1ehJDu7Evbx7Qj08ivyOe5+s/xSqNXUMrNU44Xj2Rx5qwNET6x1E3+\nDDG/JdsWrqBQb6Di1amsLNOjNZpoknWZRnt/w6msiL11Qglt3Z6QZs2xj18DJ5dTW9kAmjUAWxX2\nMimvBXoyzMOFQdvjuKgEWrtz1FpBkVbHVG93zuaY+HZPIkujkxnVwpcmpac5u2k9glRKxxFjiejW\nmzErTpJeVM6qcS3xdrp9dqQhv4K8hWcR9SZUY8NReFdBmGkKYM0wsHaCQStApgCXIHM8Xsd34dhC\ncyzYpS3g29ws0kJ7XhuJvC8SdsHGV8zGsZ3eg7avg7R6bskmjQZ9Tg76jEyc5n5HWlwccl9ffGZ+\nY3bvt8SVWagG0tN/QiJR4O7e82F35bHDIs4s3Bf5+fmsWrUKNze3B8q8BGjevDmurq6sXbuWwsJC\nIiMjadGiBSqV2dwzQaPlg4R0OjjbM8Hv5hicNs727G1el/cS0vkmOYc9BWXMre9PHeW/z2+n0mDk\nXGYpJ1OKOJFcRExqEXlllQAopBK+HtSQpxpet6q4pNEy5Wpx8GClFasjauFpJWfqxSSmlDqyrOUq\nXg8L5fC+t9ieso06TnWY1XEW4W7XbTNyU0rZ99MlfEKdaD3qaZg/g/VLprPAsTUXn+2HrkRHX3cn\n3gz0JNi2MSVPtOXS4YNcPPQH+5YvZN/yBfgqSwj1daWOuB1mN4RWL0OrVyjDhldXxJCcVMiUXvWo\n8FXyY2Y+H9XxZryfO4R6czG7lIVrtlO86jNO6osRAyMY/Mor+Pl5M33LBf6Iz+OzAeE0C7x9iSR9\nfgX5C84iGk2oxkWg8KrCCKrRAOtGQVkOPL8V7P9mcWCrgk6TzYLs9Eo49C38/Cy4BkPLF80irSpx\naZVq2PE+xCw1T58OXQPed467/CuiKKJPS0OXnIw+OxtDdg76nOyrZYmy0WfnYCoru7a93MYG97fe\nMpu4PgZmpxYeDcrKzpGV/St+fqORyy3xitWNRZxZuC+io6ORSCQ899xz2FWD63bt2rWZOHEiEokE\nm7/U06s0mXjxfAo2UglzbpHN9ycOMinf1gugm6sjb19K44njl5jiqWBU8UGEiGfA5v7F459sTtrM\nkrglfNT6IxqoqqfaQZFGx7HkQk6mFBGTUsTZjBJ0BhMA/i5K2tZRERngTH0vBz7feoGJq0+RWVzB\noFb+fJ2Sw9KMfOykUj4J9uE5D2f2LpzLmZxMlvic55BBwpthk3k5oRgrbUOeb9CA/zUahlx63Res\nvFTH1vmxKB0UPDEmjL36SuY2W8YRqQtyo4HB3q6M83Mn1Pa60HV096R5x1Y0122iUHKCS/pgLlYE\nsTu+iN00x8tFRp2sldTe/yMbbHoRW9KB2UOa0beR2dD0jb/YZWiKi7j8yyK8D+9H6epOUvBzrMu1\nY8nCs3Sum82ms1mMaBXA0Oa3z+rV55WTtzAWjCbcxkUg96zi1PaO9+HKH9BvPvjcwQpAoTTHgjUZ\nDRd+M5c62vy6eVGFQFB78xLYzpwFeytSDsOGF6AoBVpPhE7v35NFhrGkBM2Ro2iio9FER6PPyLj+\nT0FAplIh8/REERiIsnkLZJ4e11zxT+TnE9bTMrJhofoQRZH4hE+Ry50ICpz4sLvzWGIRZxaqTHFx\nMWfOnKFZs2bVIsz+5E/bjb8yPSmLOHUFy8OD8LC6e/3Cp9ydaO5oy2sXkpmcqeG3YjlDz75K94Da\nOLUcBw5VN0gt15fz+bHPiUqMQkDg3QPv8kvvX65NCd4PeqOJRQeuMGd3AhV6IwqphAY+DoxsFUCT\nABciA5xwt7/xob1iTAveWHuGabGpTDeUoZfAcG9X3g7ywkUmsO27mVw4uA+JRGB1soZT3ewwJr9I\nqOcIMm0780MpaBKzeTvIC5VChtFoYtuCWEor9Ahj6tD9QhKJ5ZXY6xR0Pb+DL3XL8G66Df4izDDo\n4Mg8c3Fs0YhLjzdo1fpVWsqsyE9LYdcvqzHkZ3PgioEDueCqOM13zkeomzYQMWwigtxsPmwyGTmz\nYwsH16zAqNfRcuBQmvd7GrnCivE5ZXy7J5Hfz2bSspYLH/Suf9v3UTSKFKw4D0bx/oTZ6VVw9Hto\n+RI0Gnpv+0hl5goLYQMg+6xZ2CXtv14aCcFs6FurgzlD1r+V2T9u76cQPQec/GH0Fghoffvz0uup\nOHsWTXQ06uhotLFxYDIhsbVF2aolLmOex7pePbMAU6kQ5Lf/boj79lXtPbFg4S7k5e2guPgooSEf\nW0bNagiLOLNQZQ4dOgRA69a3f7hUB/sKS/khLY/RPiq6qRzveT8PKzmr8lex7PJlvg19mUlOjZCZ\nDLTbuYmnbLR0b9wdV697y7yLL4rnrf1vcaXkCuMjxtPUoykTdk7gm5hveL/lbUwxS9Ih6gVw9DVb\nItTpct30FXNNyPc3xBKfo6ZbfQ/Gt69FAx9HrOV3zjaNUZdzoY4Sg0aCsbCStloJU9t4YSOTsP2H\nOVw4uI/W3dpwIXU5efFBuO7R886EiTzbbDTFBhNfX8nmx8x8onKK+L9AT1RHClit1BHb1xl1fj4N\n7W0Ym3wGx10bePb1iXhvmwW/T4Lh682Zg0n7zMHr+fHmqbwen4FzIAAC4OYfiFfTVriFNObF+bvx\nKrlMT3kiJ9PTiflpH3a/7KJ2eBg+rXpxYvNv5F65jH94I7o8/yIu3tfLBAV72DNnaGMm96yLs1KB\nXHr7uK7ymBwMuRW4Dg+tujBLj4HfXzOPdj0xrWr7gvk98WpoXlpPBKMeMmKui7WjP5inQCUyULqC\nOsdsz9HtE7C62XNNl5KCOjoaTfQhyo8cwaTRgESCTXg4qhdewLZtG2zCw+8oxCxYqGmMxkoSEj/D\n1jYEb+/BD7s7jy0WcWahSqjVak6ePEnDhg1xdLx3wVRV8nR6Jl5IJdTWmim1qzjalRGDED2LLuH9\ncfDOxN21DXuz8vmderwusUd6QU2bMxvo7efHk8ER12wg/oooiqxLWMcXx77AXmHPgm4LaO7ZAp1J\nZET9ESw7v4wOvh1o59vuxh01+bCiP5RmQk4cnFltfjj7t6I88AnmptdiXpyAj5OSRSOa0rX+rUu4\nGEwiiRVa4soqiFVXcKa0nCMlGnyt5SwMC6QosYipv59nSOFhxkpPkrB/F8HBMNewlLO1rOhaS0Xg\nbg3aFUdIknZEFO14pthEeJkNS+VaPr6cCW4gUdnQ082B8b5uKI4fYPe2tbQbNgrvJp3BMBW2vmWe\nvss6YzaxdQ6EoT9DaI9b9vtioZGJPxzB3saRT195gTru9lSUlpC09UcS/9jMuZPnORNzCVs7Jb1e\nfZvQ1re3XfFyvHNpJFNFJSVbLqCQXcF6y2gonABNx9x+SvGvlGWb48bsPeDpH6snEF96tZi4f0vo\n8DboyiHtiFms5Zw318QMuV4U2qjWUH7sKOoDB9AcjEaflgaA3McHh969zUXAW7ZAWoPfMwsWqkpa\n+o9otWk0arSM/2fvzMOiKts//jmzwjAwwLDvIIuAgIJ7mVtquZRmafXa8tPe6m3TbLfMTLP1rWw3\nzWzVSs3MXXPJNVzZREH2fYcBZhhmOb8/xixfUcBEW+ZzXXMBM+c85zkHmPOd+7nv7y2R2CVEV2G/\nsnY6xYEDB7BYLFx99dVddgxRFHn0RBE6s4VvE7rheIHIyTmYjbDmQfJdfJhqyqVq//M4SB0YGTKS\nRT1uQYon6zP28aNVxZOVUp6uSKO/g5khfkGYRNCZLVS3tpBcmUF5iwmV38vg4MPdp0B3IgUr4Ku4\nDrNvIPcf289zQij93DwJcVQgMTbClxOhvhCmrLZZMpQcQjy5iYbUH3HNf54ngXs0ATjHjUWuFMDs\nRosgI7O5hfQmPWmNBtKbDGQ2GTBYRQCUEoFoJ0eeCfXl3kBP2/XwcsXXxYGd7zxPdkMZgid8r4wg\nsPBaBgsxSA2O6BUF6CpXs/aN51Gob0GQuiCVS5jiquSaQCU1/g7MGBJGkJMDVYX5fP3ZYoLje9Fn\n3On+eH3usQmybXNA5gBDZtmS4s+TI7UpvZw3DrUQ4qHm86l9z1RWOrpoiJ08ndhbHsaUspKK9W/h\nadyHMq0MPJ6FyFGd8/QSRTi1jaaV27G2jEYTsA/BNQG2z4fdb0HiHbZlSrfz+C6ZjfDNHdDSANO2\ngpO27e3+KAoVdBtmewCi1UpLRgbNe/bSvGcP+qNHwWxGUKlw6tsX97vuQn31VciDg+3VlHb+lBiN\nVeTnf4CHx3C07l13D7BjF2d2OoHBYCA5OZmYmBi02o7f0BYXVSERYLjWhRDH9hueLy2pZluNjvkR\n/kR3trH0rtcorMtmWrfuWBB5e8jb7C3dy/rc9azNWUu4azg3R97MBv8BlKVt5ceCXNa5JLLAaKti\nU0nAZKpHtAj4qwOJ0PjhKpPhIpOikUlRSARO6Y0ckXQnzxDOo1nVQDUqiUC0voBY5+HE9p1HtGsC\n1sYWMozBLKu8njzVEMIDIcFDj8lQS32Lnvr0UupPbqXAwRfL6bYnLlIJsc6O3OHnQQ9nR+LUjkSo\nHJBJBCwmK7UlzeQX6ahOTaXg8GbcG8uQKhORmQbTu0TA2UOJ1leNk5sDatcAWlvCOPTD28ika5jw\n1It4hQSec+M3tbSw7u1XUTo5cf2DMxF+tYeQSGy+W8kf24Sae+g5l7tC18LGtDLWp5VxML+ObhoJ\n3903ADenNqoCJRLkvSYREH8TpH0Lu16F5ZNtSfhDZ0G34e2LtLJU2Doba84hGluX4hDQivLBxbb9\nKjJsy4gHl9isL2LH28xjf18JKYq2pdniZLhlGfhcmsKOC2HR6ah45VWadu3CUlMDgDI6Gu3/3Y3T\nVVfjmNjLXkVp5y9Bbu6bWK1GIsKfudJT+dtjF2d2OkxycjKtra0MGjSo/Y1Ps7GqntmnbJVlz2aX\n0M1RyXCtC8O1LvR3dTqnZU9mk4EXc0oZ7u7CNH+Pzk2w5AhFB95halAIrYKEpSOXEOEWwfDg4Tze\n+3E25m1kZdZKXkl+hbekbzEqZBQ3D7mRJ8qz0O28i1XSZt51dcLTyZvXrnmNnl4XsjcIZlHap7yV\ntpobYh5BUVxAuknGGr8xfF4vhaOnftvUTwl+Sk4C5TItGscQNFIBN7OOgKZSxlVvokflAeKbsggy\nViL49LBF3QL7gUNfasrc2bfqFMUn6rBaRURRxNpyAFPLKRpcvamMMlFuLCG70ZOXb+nOmITfLwOH\n0q2XNytfms2a12Zzy+wFZ+V3AWxftoja0mJufnYeTq5nt2nCLRhGnW0wWalrYWN6OetTyzhYUIso\nQncfZx4fGUmEtbhtYfZ7pDLoeTvE3WJb9t31ui3iGNjPJtJCB58r0hpKbAn1x74GR1d0ge8h5qjQ\n3Jz427besTDhIxg225bkf2gZpK+y5ZQNnG7L/Tv0CRz5DAY9BrFd325GbG2l+JHp6A8fxmXUKNSD\nrsZp4EBknpe+LZMdO11JY2MGpWXfERQ4FZXq3A9qdi4tdnFmp0O0trZy4MABIiMj8fHxaX8HoNls\n4dnsEqKdHPg4NoRddY38VKPjs9JqPi6uwlEiYZCbmuFaF4ZpXfCQy7j/eAEuMilvR58b4bkgZiOl\na//DNF9vWuQOfHJamP2KSq5iYuREJkZOJLMmk1XZq1iXu461OWvppumGtns8yVXHGN7cxFztUDTu\n568Q/JV7Yu9kX/FOfk55glVFhfiPeg2xdyJHqhq5Z3UK1Y1GRkV48sigvLfdGAAAIABJREFUbgS5\nOOAik57HCmQCGOqg+BAUJUPRL3D0K4wHvuRg02RS9WNQyMwkaPbgYT3KTgs01kvIDmom7vZEnov/\nN3oj3PvFYR5ZfpSUonpGxfqQEKhBKZPiHdqNSc8vYOX85/h27tPcMvsltAE2a4rMPTtJ37GVfhMm\nExx3fjFa2djC5nSbtUVyvk2QRXk78+i1kYyO8yXcy1a1u3NnyXnHOAepHBLvhPhbbY3Zf34DPr8R\ngq+ymbKGXAXGRlvO2773QLTAwIcxxz9M03tZqHp5tl0EoPG3Jd1f8wQcXgYHPoKvJto8xWpOQcQo\nm4VFFyOKImVz56I/cAC/V19Bc+ONXX5MO3a6gt+sM9wICXnoSk/nH4FdnNnpEIcPH8ZgMHQqavZa\nfjmlRhOLYkOIcHIgwsmBewI80Vus7K1rZHttI9tqdGyp0QHgIZdRbTKzPD6szST9C1G+fS5T5Tqa\nFM4sGbmYKPfzV2NGa6N5TvscM5Nmsjl/MyuzVpJWd5Jn+jzJbYWZCAfeh/J0uOUz243+PEgFCQvM\nzky0mng2IpFPkv4Pi0Vk/so0jOXNrLy7D/3COrj86+gGESMgYgSiVeTk/hL2rc7GoLcS459Df9Uy\nytxUfFDmiG+qSF24kicef5tubuGALb3pi2l9eWZ1Gkv35vHJnjwc5BKSgt0YEKZlQDctNz33Et+/\n9BzfzH2GW56bj0ypZOvi9/HvHsPAW24/M5Vmo5mcqiayK5rIrmziaGHdGUEW7qVm+vAIxsT5EuF9\nbsXhRSFTQJ9p0PNftqjW7v/CstE2kVadZXPQ73EzDH8e3ILRfZcFgMvIdnr5OWhsOXL9/mOLoO17\n1+ZHNnHxH3P27yA1Hy+mYdVqPB580C7M7PwpMBqrkMmckUo7Z9B9xjojap7dOuMyYRdndtrFbDaz\nb98+QkJCCAwM7NA+6Y16lhRXcYeflj7/0+9SJZUwwkPDCA8NC0SRU3ojP9Xo2FHbyEBXNUO1nfvn\nr8jdztTC72mQK1l83VJitO1HvcAWTZsQMYEJERMQRdEWqYsBAvvaeiwuGgQ3L4WwIW0PsPMV/A9/\nwdMJNzBbd4wvjn9BzqneHC2s5/3bEzsuzH5HZYGOn1dkUZGnwzvUhbG3RuLsP5AlaUb2r/2WpOMO\nqOO7MePp/yL9nwpDpUzKm5N68vzYGH7Jq2V/Tg0Hcmt4Y4tNzKgUUgbG3kb0sa/4+oVncHZzR5RI\nsV7zL17edJLsSpsgK6k3nBlTLhUI93Lm4WERjI33JfJSCbK2kDtAv/ts0bRDS2H/B+ARZasODbCZ\nw5rKm9EfqUB9tT8y1w7eYGQKm4dZz9tsOWeXIdlet2EDVW+9hcu4cXg89GCXH8/O3w9RtFBdvR25\nwh1ndQ+k0vbzddsaQ6dLpbr6J6qrt9PUfBKl0peY6Fdxd7+qQ2OcZZ3hO6nTc7BzcdjFmZ12OXbs\nGI2NjYwfP75D21tEkSdOFuMmk/Fs2IXb2giCcCaqdn+QV6fnVtVYwrRdM6iVSlk0/L2Ldu4/awk1\ndrwtf+mbKTZbjF/7Hv4+2nLgQ9j1CvScwo03vMvOXTN5+8hCdDkP8u9BAxkT34l2PkBLk4kDP+SQ\nsacUR7Wc4XdFE9nXm21F23jj+zdwT2+mzwk3gnv34aaZzyGRnt8TzVWlYFSsD6NibcvPtc2t/JJb\nw/5cm1hLdhvLhPK1mEsKWed1HXlbi1HKJHTzVNM7xI3bvAIJ93ImwltNsLsKWWeqZS8FcsfT7Z/O\nFTUNm/MRFFKch3TsQ8I5XAZhpj9ylNKnn8ExKQnfl+bbKy/tdBqzuZmMjBlU12wHQBAUODvHoNH0\nQuPSC42mF0qlb5t/W2ZzE7W1e22CrGYHJlMtgiBFo+lNWNhMysu/5+ixO/H3/xfh3Z5CJruwP+Cv\n1hm9en5ut864jNivtJ0LYrFY2Lt3L35+foSFhZ312plo0//weWkNRxv1vB8dhKu8Y39iJouJldkr\n0Rl1JHonEucRh4PswpGRakM109ZOohILi+IeIiHg4ku7jWYLStnvBI9HBNzzk82Edfs8Wz7YhA9t\ny4/HvoZNT0P0OBi3EEEiYXLoDLbl/oJ7yEoeHTGlw8e1WkWO7y7hwA+5tLZYSBgWSJ+xoRQbC7j3\np3tJzTvEyMxA3MoURPQdyJjpT15QmLWFu5OC6+N8uT7OJhirm4zsSe1JaV4ez/ZKIsJbTYCbCumf\nvFm8Mb+BlsxaXEaFIHX6cxqxthYWUvzgg8h9fQl47117FaadTtNiLCc15V4amzKJiHgOBwc/GhqO\noms4RknJ1xQVfQqAUuGNi8Ym1Fyce9DUnEV19Xbq6n5BFFuRyVzQagfjoR2GVjsYudzmlxcUOI2c\n3P9SVPQptTW7iY5+FTe3vm3O5TfrjGs7HGmzc2mwizM7FyQjI4O6ujpGjRqFIAhUG6rZXridbQXb\nOFRxiEH+g5jZeybBLrb8n0qjiQU5pQxyU3OTt1s7o9s4VH6I+Qfmk9OQc+Y5uUROnEccSd5JJHon\n0tOzJ2rFb62iGi2N3LN+CuWt9XzgFEev3v+56HNcuiePVzaeYPa4GKb0C/pNcCrVMHGJrYpw8yz4\neIjN5HTbC7aKwomfgFRGg97Ek9/m4iC9DaPHYj5K/YCZvWe2e9yWZhPr3kuhIk+Hf5QrgyZHovAQ\nWZjyJsszlxNRoeHWjDCkFrhm6lR6jhj9m83FH8BDrWT8wGgYGP2Hx7pciKJIw8Z8JM4K1Fd1vgXX\n5cBSX0/RffeD1Urgoo+QuXXs79+OnV9pbMwkJfUezOZGEhIW46EdAoCX5ygArFYTTU2ZNDQcpUF3\njIaGo1RVbTqzv0oVSmDAHXh4DEejSUQiOfdDjFTqQGTEs3h6jiTz+JMcOXo7gYF30y3sMaTSs62L\nfrPOeLrrTtpOm9jFmZ3zYrVa2b17N25aN5Ityby88WWOVh5FRCTIOYgxYWPYkr+F8WvGc2v3W7k/\n4X6eP1WH0SrySmQAgiBgtVjYuvh9AmPjiBk09Kzxa1tqefPQm/yQ8wN+Tn68O+xdenn14mjlUY5U\nHOFwxWGWpi9lcdpiJIKE7u7dSfRKpKdXT96reJfa1jLe11nofeuHF32OKUX1fLhmL0OaMnhpVTMZ\nJQ3MvTH2tyiaIEC/e21eWd/eBVtng39vuPVrkCmxWkVmfHOU8oYWVtx7B+tL61mWsYxrAq6ht0/v\n8x7XqDexduExakqbGDE1hm69PVmft543v3+TJl09kwvjkWfV4hMeynUPzjzH/uKfRsvxWloLdLhO\nCEei6Fzk8HIgtrZS/PAjmIqLCfp0KYqQkCs9JTt/Maqrd5CeMR2ZzJmkxG9wdj73w5NEIsfFJR4X\nl3gCuQuwRbcaG9NRqUI6ZXHh5tqHvn3XcSrnNYqKPqWmZicx0a+h0SQCduuMK41dnNlpk7yGPNYd\nWEdNVQ3JnskUHSoi0i2S/yT8h2uDryXcNRxBEJieOJ33j73P1ye+ZkVRFmXuDzMz2JNuKtuS5MG1\nq0jfsYX0nVsRrVZiBw/HKlr5Pvt73jryFs2tzUzrMY174+8900h8SOAQhgQOAWxNx1OqUjhSaRNr\n32V9x5eZX6IQJbxXXkHfCZ/ZlhovgsYWE49++QtjKjfjbKwj0lrBp/stnKxo5KMpSXi7/G5ZNbAv\n3PczHPsSEu+yRdWAd7Zns+NkFfNujCUp2I1ov8f5pewXnt3zLHMGzMFF6YKLwvZwVjgjlUhpNZj5\n8d0UakqauP7+OPR+ldy16XFSqlK42hhN7CFfTE0NDJh8B31vvLnTy5h/N0SLSMPmfGQejjj17piN\ny+VEFEXKZj+P/uBB/F5/HVXv84tyO3baorj4S05mzcVZHU1CwmKUyrbburWFUumJUjm0/Q3bQCZz\nonvUXLw8R5KZ+TSHDk8mOOgeQkNn2K0zrjB2cWbnDEW6IjbkbWBj3kZy6nMYWjoUtVLNxEETGREy\ngiCXoHP28XD0YM6AOUyMvI0bUsqQmsrYcex5kqTTSZCEs3/l14T36Y/JaGTzhwupNFbxiXkdKVUp\nJHolMrv/bMJP20G0hUquYoDfAAb4DQCg1WwkI2MFbuseJyR6AkRdf1HnKooiz32fRsSpTTi31jPo\n9rv55ftvuE+3gS8LRjPuXQMf3ZFEYtDvhJ/aE65+9MyPO05UsvCnbG5K9GdK/+Az810waAF3b7qb\n+7bdd85xXSXujEifhpvOl7y+ezhWvoL9R/bjIXPjkepR6JJPoA4I4vpn5uMd2u2izu3PjKW+npol\nSxAcHXGMT8AxrgdSV9cL7qM/UoG5Uo/7v6IRpH++vLjqDz+k4Ycf8Hj4ITTjxl6WY1ZUbkAiyPHw\nGIYg/LPF+18ZUbSQfeplioo+xcNjOLExb7WboN8VuLtfRb9+G8jOXkBB4ceUV6zFaCy3W2dcQezi\n7B9OtaGazfmb2ZC3gdSqVAASvRJ5JPgRSvJLGDt2LL3j248ErG9wRi/oeSFUwaYMCY/umMHNB7vh\nqlQw4t8PYZKKLJ7zEIeWfoGpr4F5N8zjxm43tl/JZjJAyRGbMWtRMoqiX+hlqMWocIPrXrno8155\nuJisPTu4timbgZP+Rd8bbyaoRwKrFjzPnbU/skF1A7cuOsC88bFM7nOuKC2s0TN9xVG6+7jw0vi4\ns84jwTOBzRM3U9xYjK5VZ3sYdTQ0N2Je74tUp6akfzLVXnk06huZohmH20/l6KpO0nvcTVw1aQqy\nv2EiuSEtnZLp0zFVVIDVarO1ABTBwTjEx+MYF4djfBzK6GgkSpttgGiyoNtagDzQGcceXdQD8w/Q\n8OOPVL/zLpobb8DjgQcuyzFra/eSnv4wAA5KP/wDpuDvNwm5/M+T41Zbt5/8/PfpHjUflSrkSk/n\nT4nFoic941Gqq7cRGPh/RIQ/c0WFtkzmTHT0y3h6jeJE5iyc1bF264wriF2c/QNpam1ie9F2NuRu\n4EDZASyihSi3KB5NepTrQ67HV+3LsmXLcHZ2pmfPC7UwspHV3MJ7hZXc7O3G/RE9uafbSpZ9Oo+G\n6sNs61lG/tEXSa1KpSamktss0fQ/JCN+qH/bwkxXBkUHfnPKL0sBq9n2mjYCuo+GwH4crlIzUOV+\nUeefU9XEm9/+zITa3QTGxtNvgu0NyKdbBJNfeIWVL81mdMFqUmMn8dSqNNJLdMweG4NCZkvGN7Ra\nuO/LwwAsmpKEYxs5UF4qL7xUXoiiiNlopLG2nq2rj1BZXEmPwTKu9u5JS2MY9RXlHP95O4KnJ5Of\nf5mAmK7v9Xi5EUWR+hUrqFjwMlJPD0KWf40iLIyW9HQMqWm0pKWiT05G9+OPth3kchyionCMj0MR\nNRqLrhW3yVF/OksK3datlM16FlWfPvjMm3dZ5mc2N5KZ+TQqVShhYTMpKf6KnJzXyMtbiLf3DQQG\n3IGzc2yXz+NC6HRppKbeh8XSTErqffTpvRKZrAv98f6CiGIdh4/cSmNjJpGRcwgMuPNKT+kMHtoh\nDBy4A1G02q0zriD2K/8PwSpa2VW0i/V569lZtBOjxYi/2p+pPaYyOnT0WUuLhYWF5OfnM2rUKGSy\nC/+JiKLIU1lFOEklzAm3VdHpyito3pFGSGJvpNe68sXxLwjWBPP6uNeJuS2S7+Y9y9r/LmDCk3MI\njj8t/ixmWHEbZG+x/SxzsDXEHviIrVoyoA84/RY5ad2586Kug9FsYfoXyVxbvhknJydGP/w4Eslv\n4sojMJhb577GyvnP0iN1OaHX3MmiAwWcLG/kgymJaJ0UPPt9GifKdSy9qw9BWtVZ41vMJk7s/ZmU\nbRtprKrE0NSIxWQ6a5vD6377Xu7gSNywkQy+YyoKx7PH+jtgbW6m7Pk56Navx2nwNfi98sqZKkan\n/v1x6t//zLamigoMqam0pKZhSEujYd0WVPX9kLqYUQarz3eIy45oNlO1cCE1i5fgEBdHwLvvXDbL\njKzsl2gxltM76Vs0ml54e42mqekkxcVfUFa+hrKy79BokggMuBNPz1FtVut1JXp9HsdSpiKXu9I9\naj7HMx8nI2Mm8fEf/WOXX0XRSktLGXpDHnp9HgZ9PlbxB/R6IwnxH+PhcXH5Yl2JRNJ5w1s7lxa7\nOPuH8MGxD1iUugg3pRvjw8czNmwsCZ4JbX7a37NnD46OjiQmJrY77jflteyvb+aNqEA8FXKsVgub\nP1qITKFg1L2PoHZz58GeDyKVSJEItsjTxFkv8t2Ls1jz+jwmPjPXFi3a/V+bMBv0GHQfA95xNmf3\nS8zLG07glbEBV2MdYx5/EbXbudE3V28fm0B7aTbWHUtZcOO9zE2pZ9y7exgT58vqoyXMuDaCod1/\nM8016vWk/bSJwxt+oKm2Bo/AYEJ6JqFUqSnI0FNfaSVuaDiRvYNxcHbGQW17yOSX9uYpWkWwigiy\ny2wc2wbG7GyKp8+gNT8fzxkz0N777wtagci9vZGPGIHLiBEA1K05QfP+Sho3zMOY+Tn+r756xasg\nzTU1lDz2OPoDB3CdPBnvZ2ddNmFWXb2dsrLvCA7+DxpNrzPPq9VRdO8+n27dnqCsbBXFJV+QnjEd\nhcILf//bEcXLU+lrNFZy9NjdAPTq+RkqVSgmcwNZWS+Qk/sW4d0evyzzuFKIopWGhiPo9bno9Xno\nDfk2MWYowGptPbOdVKoCfEhKXIizc8e6mdj552EXZ/8ATtae5JO0TxgdOpr5V89HfoFP0xUVFWRl\nZTF06FCUygt/eqo1mXkxp5S+Gidu97WJnGOb1lF68jjXPfDoGeEjl559PEdnF25+bj7fzH2G1a/O\n5eZpt+K36xWIn2zrn9gO209UsKfYRH+TBQd5xz+Nbztewb4tWxjVdIJ+EyYTEt/rvNuq3bVMmvMy\nq19+gYrvP+K92+7nk1SBsD3lTPd15+EhtkhjU10tRzeuJWXrRoz6ZgJj4xl53yOEJCRitYps/jid\npoZqrp0aReygrr1JmsqbqVl+AqvBjMcdMSgCr9xSUsPatZTNeQGJSkXQ0qU49e/Xqf1bS5toPliN\nKtEbl8GPUjb3RXIn3IT3U0/hOnnSFVniNBw7RvH0GVjq6/FdsADXmyZctmObTHVknpiF2imKsNCH\n29xGLtcQFDSVwMC7qanZRXHx5+TlvQ3AL8mf4qEdgofHMFxc4i95FMtk0nEs5f8wmWpJ7PXVGeuF\nAP8pNDVlUlDwIWp1FD7e4y7pcf8siKLI8eNPUF6xBrA5+js6BqFShaDVDkblGIpKFYpKFYJC4cWu\nXbvswszOBbGLs785ZquZ5/c9j4vShWf6PnNBYQaQnJyMTCajT58+7Y49L6cUndnCq5EBSASBuvJS\ndi//nNBevYm5ZtgF91VpXLll9kt8M+cJVn30CbfEdMNn9BsX3KeysYXn12SwKaMcgE1FO5lxbSQ3\nJfq322KovKGFF7/ayZia3fhGnd3o+7xzdNFwy+yXWPPai5Su/IHXAm8DQYKkzEz5m8kUSE+SfOR7\nrBYrEf2vos+4m/DpFgGA1WJl65IM8lKqGTQ5skuFmSiKNO0rpWFjHhIHGYJcQuWiFNwnRqLq1fmW\nWH8Ik4myOS9Q/803OPZOwv+/byL37twcrK0WapefQOIkRzM2DKlTFI5JSZQ98wzlL7xA086d+M6f\nh8zDo4tO4mxEUaRu+XIqXn4Fubc3ISuW4xB9eQ18T558AZOpnp4JS9tdchIECR4eQ/HwGIpen8eB\nXz5CJi2goHAR+QUfIJe7o9Veg4d2GO7ug/5wNZ7F0kJq6r00N+eQkLAEF5f4381FICryBZqbc87k\nyrk4//3yKvMLPqC8Yg3Bwffj73crDg5+/9hlXDuXhi4TZ4IguANJwFFRFKu76jh2LsyXx7/keM1x\nXh/8Oq4OF7YsMBgMpKamEhcXh0p14fynb8trWV5Wy0NBXkSrHRGtVrZ89A5SmYwR9z7UociG2s2d\nW/qIfLO5lVWnQrilvBqvkHNvFKIosvJgAW/9cAhpi47Hol0QWxv5yRrBk6tSWfRzDo+NjOK6WB8k\nbbQgslhFZnx1kKuLNqJyVDKuEy2QlCoVY26aQe3XJ2jS11Ef14ipRI9nuTdBijC8wh/AdVQY2gHd\nzpyzaBXZtiyTnKNVXHVzOPFDAzp0rIvB0thK3cosWk7W4dDdHbebI0AQqPkyk9pvTmKqaMZlZAjC\nZWjN1FpUhPvrr1NfWIT23/fgOX06Qjs5i23RsC4Xc7UBj2lxZ9o0yb29CVyyhLqvvqbyjTfIHXcD\nvvNexPnaay/1aZyF1WCgbM4cdGt/RD14MH6vvYpUo+nSY/4vFRXrqahcR1jYzE5HW1SqUCTC9SQl\nDcFkaqCm9mdqqndQXb2T8vI1Z3ouemiH4Ok5stOVlVarmfSM6dQ3HKJH7Nto3c9toSaRKIiPe5/k\ng+NJTb2PPn1+QKm4PML6clBRuZHc3Dfx8R5Pt7DH/3SFK3b+mnSJOBMEwQ1YB6wH3hQEYZgoilWC\nIHgDm0RR7CUIggzIPf0AeFgUxTRBEOYCo4FkURTP7Xxsp8MU6gp579h7DAkcwqjgUe1un5KSgslk\najdqtq1Gx6MnChnkpuaJUJsp6LGtGyjOTGfk/Y/g7N7BN96Ub3DJWcWkyTNZsTGPlS/NZuAt/8Kg\na6Cptoamuhpqq6qorqhE1qpn4undWottX2/082dS/GC+qFbwwFdH6OHvwhOjunNNhMdZb5Dv7ziF\n8sg6tMZqxsyYg7O24zeG5kPl1K/ORunvQobpMMc37cBB7UzPkWPxDeiJdF8VLWvLqDrahMvIYJTh\nrhzZUkD2wQr6jw+j57Xn2nBcKgwnaqn7Lgur0YLrjd1w6v9bI2TPaT2o/zGHxp3FmCr0uE+OQuLQ\nNZ/FRKuV+lWrqHz9DaRmEwEfvI/zsAtHTs+HPq2K5uRynIcE4BB+9ocJQSLB/Y4pOA3oT8mTT1L8\n0MNoJt6E9zOzkKovvTdUa0EBxQ8/gjE7G8/pj6C9775L0j6rMxiNVZzMmoOLczzBQef65nUGuVyD\nj/c4fLzHIYoWGhqOUl2zk5qaHZzKeZVTOa/ioR1GYNBU3Fz7tysyRFHk5MnZVFdvIzJyDt7e5/d4\nUyg8SIhfxKHDk0hLe4DEXl/8LZLOdbpUjh9/HI1LL7p3X2AXZnYuGV0VOYsHZoqieOC0UEsENgNv\nAI6/22a5KIpP/bqTIAhJwNVAX+B5QRCuFUVxWxfN8W+NKIrM3T8XuUTOc/2ea/dNw2q1cvDgQQIC\nAvDzO3/vwsMNzfw7PZ9YJ0eW9ghFKZHQUFnO7q+WEZKQSI8hIzo2wdo8WP8YBA1AM+Y5JvUu55u5\nz/DTJx8A4OiiwaR0JlcvRe8YSmJiCFfFh+Gs9UDtrmX3po20FJyibNPXjHFUMTGmPytrg7lrqY6+\noe48dV0UScHuJOfV8uOajVzXmEHS2AmEJba/XPvr9Wv6uZiGjfkoI1zRTolhlDyBmPTh+EV2R+5g\n6x4g9g9Cf7gS3U+FVH+SDj5OZOc0EJ7kReKo4I5di04imizUb8ijeX8Zch8VnvfGIfc+W5wIMglu\nEyKQ+zhR/2MOlR+m4HFnDDKt43lGvThaTpyg/IW5GI4dQ9W7N4U33kDsRQozc72RulWnkAeocRlx\n/munDA8ndMUKqt7/gJrFi9H/kozfq6+gSkq62NM4h8bt2yl96mkEiYTAjz9GPejciFBXI4oiJ04+\nh8WiJybmjUtqayAIUlxde+Pq2pvwbo/T0lJKael3FJd8SfXRKajVMQQFTsXbewwSSdsFDzm5/6W0\n7FtCQh7skBWEs3MsMdGvkp4xnZMnX/jLi5kWYzmpqfejkLsTF/8RUulfX2za+fMgiKeNILtkcEG4\nBpgPjAV6A5OA7qIoDhEE4QHgQaAZSAPuAx4BWkRR/EAQhP7A9aIozvmfMe8F7gXw9vZOWrFiRZfN\n/1eamppQq/88pfwdYV/jPpbXLudW91u5yvmqdrevra0lNTWV7t274+PTdoucElHCHNQ4ITKXJlwF\nEVEUyf7xO5ory4mdfDcK5/bzVwSrhZ7HnsGpuZiDfd7G6GDLSbKYWjEb9NSi4tNMC1l1VmK1Eu6O\nVeKpOjti8evvpLmijMq0I9TlnES0Wmn1DGGXsgcnZAEkeMmoq6nj+rzv0Hho6T7+1o4tZ4qgPSng\nli+h0ddKRZwI7QVMrKDOA9csCQ6CQLObFZMzSCwgWECwCgjW0z9bf33O9rPZAVo0IkYXMGpEWp04\n7/EUjeCdIkHZJFAfbKUmUkRs55Qca8DnmG3A8p5WDJfAy1VoacHpx3WoduxAdFLROHEiLf360dTc\nfHH/KyL4J0tQ6qDwKivmDrqKyE/l4LLsU2TVNegHX0PT+PGIjhcvQIXmZtQ/rEX188+YgoKov/de\nrB5XxvzWKu5FFJciCJORCCMvepzOvH+JYisiBxDFrUApoEEQhiMwGEH4bQyruBVRXHH6+Ts6JbKs\n1tWIrEcQbkciDO/k2fw5EEUjVvFVoByJMAtB6Fzqwl/xnvJP4HL8XoYOHXpYFMV2nd27TJwJtv/W\n94AA4E5gDTABWHNanPUBikVRLBME4XNgJZAApIqi+IMgCJHYom/3n+8YvXv3Fg8dOtQl8/89O3fu\nZMiQIV1+nEtFpb6S8WvGE+UexSejPjljYXEhli9fTlFRETNnzmzT26y0pZVxR7JpFUV+TIwgxNH2\nKTF12ya2Ln6Pa+95kIQRHWyltP0l+Pk1uHkp9Jh45mmzxcqSPXm8tTULpUzC7LEx3JwU0OYb///+\nTprr60jZupGUrRvQN9QjuHqxXxlNWH0mfpIm7n7tXTRe7ferEy1W6lZmoz9aiXqgH5qxYR3K1xKt\nIuveT6X0ZC03jAyCjBpEkwVBLkGQSxFkktPfS+B33wtSCeZaA6aSZsRWCwCCXILc1wm5vxqFvzOK\nADUyT0ea9pfRsMmW9O9+SyQOUR034TXXGKj+LANzdQuuN4Sh7n9PAyjZAAAgAElEQVT+6OgFz1MU\nady8mYoFL2OuqsJ10iS8Hp1xpgXTxf6v6H4qRLe1ALdJkTgldryvINi81CoXLqTuiy+ReXvj88Ic\nnDs5B9FioX7VKqrefAuLTofblH/h9dhjZzoVXG5aWko58Mv1ODvHkNjrK4QO/A+fj4v5nYiiSG3t\nbgqLllJbuxuJxBFf34kEBd6NTpdGxvFH8fQcSVyP9zqd+C6KVlLT7qemZic9E5bh7j6wU/tfaUTR\nSlr6Q1RVbTntU9b5SPFf7Z7yT+Fy/F4EQeiQOOuyggDRpvoeFARhHjAD+EAUxfrf3WhTRVE0nv7+\nEBABNPHbsqea9uMVdv4HURSZf2A+rdZWXhj4QoeEWX19PVlZWVx11VVtCrN6k5nbUnNpMFv4vlf4\nGWGmq65k15efENQjnvhrr+vYBAv2we43IOH2s4TZqcomHvv2GCnFDYyK9WbejT3w+n3j8XZwcnVj\n4C2302/CLWTt38ORTT/S/9QuAEY/NqtDwszaaqHmy0yMWXW4jArGeUhghyMCR7cWUphRwzW3RuI7\nJABu6FxfTNEqYq4xYCpuorWkidbiRvSHK2neX2bbQCqARTyT9C9Vd85bS6Z1xOuBntSuOEn9mhxM\n5Xpcx4UhtFPl+ntaCwoonzef5j17UEZHE/DuOzgmJHRqHm1hLNCh+6kAx56eF1VdKnFywmfWLFyu\nv56y2bMpvv8/uIwdi/esZ5C5ty9gDamplL84j5b0dBx7J+EzezYOUVEXcyqXBFEUycx8GrASE/3q\nHxJmF4sgCGi116DVXkNT00kKiz6ltPRbSkpsQtHVtR+xMW9fVEWiIEiIjfkvhw7fQlr6w/Tt8z2O\njl2Xm3mpyc19i6qqzUSEz7ooYWbHTkfoqoKAp4AyURQ/B1yxLWkOFQThQaCnIAhLABdBEF4C0oHx\nwAKgFdvS5wpsUbT8rpjf35ktBVvYUbSDR5MeJdilYzlPv0Yfe/c+V8wbLFbuSssjT2/k64Qw4pxt\n602mViNbFr2LaBUZed8jHRMxhnpYfS+4BsPo1wCwWkU+25/PKxtPoFJIee/2XoyJ873oXBSpTE70\noKFEDxpK6ckTGIrqCA7vhbXFjKCQnjcKZmk2UbMsg9biRtxuisCpb9tLu21ReqqeAz/k0i3Rix6D\nL84yQ5AIyD1VyD1VZwSKaBUxVxtoLWnCVNKE3EeFKsn7oq+NxEGG9s4YGjbn07Sr2FYReVcMQjte\ncVajkZrFS6j5+GMEuRzvWbNwu/22i6rEPGfsFjO1K04gdXXAbXz4H8pBUvXqRejq1dQs+pjqjz+m\nec8evJ+dhcvYsW2Oa66tpfLNN2lYuQqZpyd+r7+Oy9gxVzwPqqTka2rr9hIVNe9PIVrU6ihiol+h\nW7fHKSn+kmZ9LtHdX/pDOVYymTPxcYs4eGgCKan3ERY6AwdHfxwdApHJXC7L70CnS8VsbsLVtU+H\nOymUla8hv+AD/HwnERg4tYtnaOefTFdFzj4GvhUE4R5s4mvg6UgagiDsFEXxHkEQegBfAwKwVhTF\nbYLtI+LLgiAsBK47/bDTQRqMDSz4ZQHR7tHcGdOxXm1ms5kjR44QGRmJq+vZ1XFmq8j9x/NJbmjm\no9hgrnZzRrRaydy7iz3LP6expopr73kAjVcHhIwowrpHobEMpm4BpTMl9Qae+C6FfTk1DO/uxcsT\n4/By7ni07EJYjWZkO4wo882Ubztoe1IAiaMMiaMM4fRXiaMMiUqOMacec10L2inROMZ2vJrT0NTK\nliUZOGsdGHpH90t6UxEkAnIvFXIvFVwivzJBIuB6fShyTxV1q7Ko/eYk7rdHn1e0Nu/bR9ncuZgK\nCnEZfT1eTz3dad+y8yGKInXfn8LSYMTz/oRLUk0qUSjwfPghXK4bRelzz1H6xJM0/Pgjvi+8gPx0\noYtoNlO34huq3nkHq16P+7SpePzngS6p+Owsen0B2adext19EP5+t13p6ZyFUuFBWNiMSzaeShVM\nXI93SUn9N2npvzWNl0rVODoG4uDg/9tXh0AcHQNxcgr/w/5hdfUHyc97l9q6vQDIZBo8PYbj6XUd\n7m5Xn1d01jccJjPzGVxd+xEVNfeKi3g7f2+6RJyJolgHtFm2J4rikNNf07FVbP7+NasgCNcCY4CF\noijmdcX8/q68fvB1GowNLBqxCFkHK7syMjLQ6/X07dv3rOd/7Zm5uVrHSxH+3OjlRmF6Kru+/ITK\nvBy8w8K5/sFHCYyNP8/I/0PKcshYDcNmI/onsvpwMS+szcAqirw6MY5JvTu+hNge1hYz1UvTaS1u\nRDM6FIlKhtVgxqo3277+7mGpM2LVmxBkEjyn9kAZdmEvuN8jWkV+WpaJoamVm5/sjdLxr+Pp7NTb\nG6vBRMP6PBo25uE6Juys183V1VS88iq6deuQBwcR+MkS1Fe1X1jSGfRHKjGkVNksSIL+mBHq/6KM\niCDk66+p++orKt96m9yx4/CcORNlZAQVLy3AePIkTgMH4P3ssyi7dW4JuquwWFo4nvkEEomM6O4v\n/yNu/u7uVzHo6l8wGAoxGIppaSnG0FJEi6EEg6GA2tq9WK2GM9srFd74+NyIj+9NqJ0iOnWsuroD\n5Oa9Q339LygUHkSEz8LRMZDKqi1UVW+jrHw1UqkTWu0QvLyuQ+s+GJnMJtgNhmJSU+/HwcGX+LgP\nzlvBasfOpeJPdzcRRdGArTjgH4koipQ3l5NWnYYgCPTz7YeLov0b176SffyQ8wP3xN1Dd/fuHT7e\nwYMH0Wq1hIaGnvX8a3nlfFVWy6PB3oynhe9fe5Hcw8k4e3gy+qHH6H7V4I57PtXkwIYnIPhqano+\nwKwvD7M5o4K+Ie68cUvCOc3D/whWvYmqpemYSpvR3h6NY4+uM7s8urWQgnRbnpln0JVrlXSxqK/2\nx1zbQtPuEmRuDqgH+tk8y75bSeV//4toMODxwANo77v3kifGm6oN1P9wCkWoBuchgZd07F8RpFLc\n77wT9bDhlM+ZQ8X8+QDIfH3xX7gQ55Ej/jQCyGSqJyX1XhoajhAb+xYODr5XekqXDZnMGWfnWJyd\nY895TRRFTKZaWlpKaG7OobJyA4VFn1BQ+DHOznH4+t6Ej/c45HK3NscWRZG6un3k5b9HfX0yCoUX\nERHP4e93K1KpLb3Z03MkVmsrdXUHqKzaRFXVVior1yORKHF3H4SX50gKCpcgimYS4pcgl3f8A5wd\nOxfLn06c/dPQterIqM4grTrN9qhKo6al5szrUkFKgmcCgwIGMch/EJFukefcUPQmPS8eeJEQlxDu\nTzhvces5lJaWUlxczHXXXYfkd0Lrk+Iq3iqoYJJWTeL21Xz202bkSgcG3X43va4fh1zRiRt1yRH4\n4SGQSPk57iVmvrMXncHMrNHdmXZ1GNJOOtfXV+r5eUUWFUVWVI25dB/gi4uH7U3W0myi+pM0TBV6\n2/JkTNdZIJSdyTPzvOg8syuNIAi4juuGpd5I/Y85WJqqqfv0FQxHj6Lq0wefuS+gDAtrf6BOIpqt\n1K44AVIJ7pOjurx7gSLAn8Ali9GtW4eptAz3O6YgaacDxuXEYCjmWMpUDIYievR4B2+v0Vd6Sn8a\nBEFAodCiUGhxcYnH13cCxtZqKsrXUla+mqysuWRnL8DDYyi+Pjeh1Q5BIpGfrjbdQ17+OzQ0HEGp\n9CEycg5+vpOQSs9NnZBIFGcKILpHzaO+/tBpobaF6uptCIKUngmf4uR06f8f7NhpC7s4u8wUNRax\nt2TvGTGW1/Dbym2ISwgD/QYS5xlHnEccJquJ3cW72VOyh4VHFrLwyEK8VF4M8rcJtf5+/XGSO/Hu\n0XcpaSph2XXLUJ4nX0K0Wik7dRJBkCBXKpE7OLB/717kcjkJv6u4+6aslueyS+jb2kjYmwtIbzXS\nc+QY+k+8FZVLJ9rWVGfD9nlw/Aesjlo+9X6WeStLiPZ14ct7Euju07llLKtVJOWnIpLX5iKRCshc\n4OCGfA6uz8c/ypXoRC80Ryow1xjQ3hmDYydsJjpLS5OJLZ9k4OyuZOgd0X+a6MvFIEgEXCcEU/Fa\nIbqtrZirzfi+/DKa8Td2+LxEq0jz/lJ024sIMUsoP3IIiaMcieq3nD7bV9vPxtwGTMVNaKdEI3O9\nPFYVgiCgGffna7rd2HicYylTsVqN9Or5GW5ufdvf6R+OUuFBUNBUgoKm0tiYSVn5asrLf6Cqagty\nuTveXmPQNaah0x1DqfQhKnIuvr63dLiAQRCkuLn1w82tH5ERs9HpUgErGk1i156YHTu/wy7OLiMb\nczfxYGYBoqWeQMMeEjziGRM6hjjPOGK1sWiU54qfXl69eCTxEar0Vewp2cPukt1szt/MquxVyCQy\nEjwTOFJxhMlRk0nyPr9D+tbF75G2fcuZn0WJlKaIBOQNNXzwf5OQK5Skx/Tmx76jCCkvYOC6ZYQm\n9mHQ7Xfj7teJyFBDCex6FY5+iVXmwIGAe5hVPpjCLCkPDu3G9OGRKGSdswaoKW1i++cnqMzXERLv\nweDbojiUsp+k+P6c2F9G7r5SLOtyMUqgPESDVCrBQRS7RDSJVpFtnx1H39jKxCeS/lJ5Zm3RtGsX\n5S/Ow1ytQ339PFSDZqC+pleHr525toW6lVkYcxtQhrtS12LE2c0Jq96Epd6IqawZq8GMaLSctZ9T\nP58uXXL+K1BTu4e0tAeQyVxISvwctTrySk/pL4ezczTOzs8S3u1Jamt3U1a2mpLSb1AqPIiKmoef\n78Q/1CZKECRoND0v4Yzt2OkYf+07y18Eq2jlvaPv8X7WXvTezwBwU/xdzAjpuF2Dp8qTCRETmBAx\nAZPVxLHKY+wu2c3u4t2EakKZkXj+Kqr0ndtI276FnqPGEtorCVOLkYxTp0jNyaffgAE4SgawSapm\nrXsIsY01PFSTQ5/Z8wmI7tHxk9TXwp63EJM/RrRY2OJ0A8/VjKS2ScPgSE/+OyyCpOC280LOh8Vs\n5cjmAg5tyEfhKGPktFjCe3udEQ7O7g4kDvIj8EQN5roWCv2cSTtRz6GUGly9VXQf4ENUPx/Ubpem\nAhTg6LZCCtJqGDQ5Eq/gS5vEfjkx19RQPm8+jZs2oQgLI2jJ+8hDYqn8IIXqZRl4/ScBier89gKi\nKNL8SzkNG3JBEHCbGIGqtzcZu3YROyT63O0t1jNFGaLZitz3yldGXknKyr4n88TTODmFk5DwCQ7K\njr8X2DkXiUSOh8cwPDyGYbG0IAiyS9ruyo6dy439r7eLaTY188zuZ9hRtAOn4DdRymUMcFXzSl45\n4SoHxnp1PrlULpHTx6cPfXz6MDNp5gW3rczP5aclHxAYG8/Qu/6NRCrFarWyKfkwQUFBXHvrFD4r\nqWZxVjHD3J1Zek08DtJOtFRpbYZfPsKy+20krY2sE67h1ZabsCoCmTI8kEm9A/Fz7Xw7ncoCHds/\nz6SmpJmIPt4MmhSBo/PZFVLmeiPVi1OxNJrwnBZHQKiG3i1mco5UkrmvjANrcjmwJhd3PycCo90J\njHHHL8IVuaLjpfgWi5WqgkaKT9ZRcrKOkqx6uvXyJG7IXzPPDMBSX0/h3f9Ha0EBntMfwX3aNCQK\n27X1uDOGqiVpVH9+HM9pcbaOBv+Dub6FupXZGE/Vowx3xe3mCGSuFxbAglSCVK3otHnu3w1RFCko\n+Iic3DdwcxtAfNyHyGR/vWKSPzNt5ZTZsfNXwy7OupAiXRGP7HiEvIY8JvV8kfdrPZkb5MVdfh6U\ntLTycGYBAQ4Kerp0TXKyUd/Mj2+9jFKtZswjT5zpK5mTk0NdXR3Dhg1jaXEVs7JLGKF1YUmPEJQd\nrMC01Buo/3Yr1qIMZNZmisVHOSKG4eTuzYfdXAj0cEKCAEeqaJRKkHk6ogzVIGlnGdDcaiF5XR7H\nthaiclEw+oF4QuPPXf6S6aHq41SszSY8pvVAeTqKpXCQET3Qj+iBftRX6sk9WkVRZi3pu0pI+akI\niUzAt5vGJtai3fEMdD4rId1qsVJV2ERJVh0lWXWUnWrAdHpJzt3PifihAfQZG/qXzTOz6vUU3f8f\nWvPzCfx4EU4DBpz1ujJUg/ukKGqXn6D2u5O439r9zPURRRH9oQrq1+WCKOI6Phynfj5/2WtxuRFF\nCyez5lJS8hXe3jcQE/2q3ZLBjh07bWIXZ13EL2W/8NiuxxBFkQ+v/ZB3qrzQyg3c4eeBg1TCp3Gh\nXH84i7vSctmYFImfw6V9kxZFkc0fLqShsoJJzy/AycUFGopBE0BycjJOTk7sd/Hi+ewSRnm48HFs\nx4SZKIrUbM/AsK0MQXTCTCwGQY1KrmS4REBotCI21NFkqYX/bdsqgNzHCWWYBmWoBkWoBqnTb0tn\n5bkNbFt2nIZKAzFX+TJwYjjK3y2tiaKItdmEqUKPf7IEK2Y874lDEdh25MHVS0XiqGASRwVjbrVQ\neqqeouO1FGXWnYmqOajlBHR3Q+vnRHmejrLselpbbGLMzUdFVH8f/CPd8I90PSdy91dDbG2l+OFH\nMKSm4r/w7XOE2a+oEjwx17Wg25SPzi0fzfWhWBqM1K3OpuVkHYpQDe43RyDTXnyD8X8aFksLGRkz\nqKreSnDQvXTr9sQVactkx46dvwZ2cXaJEUWR5SeW89rB1whxCeGdYe9QjZYdJ7N5NswX1elehp4K\nOV/EhTHuSDZ3peWxJjEcJ+kfc77+PYfXryE7eR+Dp0wlwNcFPhsHBXupi7qV7Gxfmq8ZwX9zyxjt\noeGj2GAUHRBmFcUNVH+6F02zM3Ihh13eTQSOu4v+YR5I2rBDEK0iWEVEsxVTaRPG3AaMeQ00/VJO\n095SAGTeKpRhGkwaJRu/z0XuJOOGu7rjoVHSerQSQ20L5tMPS10LYqsVAIkcPO+PQ+Gv7tD1kCmk\nBMVoCTptr9HcYKT4RN1psVbLqUOVuHqrCO/jTUCkG36RrjhprkzT665AtFgoeeopmvfuxfel+biM\naNMj+gzOgwOw1LXQuKsYq96MPq0aLFY048JQD/DrcvuLvxPNzac4nvk0Ot0xIiOeJzDwris9JTt2\n7PzJsYuzS4jJYuKlX15iVfYqBgcM5pVBr6BWqHkuNRdXmZT/8z97eS5a7chHsSHcmZrLQ8cL+aRH\nCJJLsERUfCKDn7/6lPA+A0gKMsOHV4NohV53cPBYESkBV7FfcGKM1pmPYkOQt3OjLa7Tc2DFMfoU\nGHBFitlxNcbJdzG5+4WrmASJABIBQSZBGeZ6xn1fNFtpLW48I9aaD1WAycoIRwlYrfBDDr86vQly\nCVJ3B2TuDjiEu9q+d3PgUFEawR0UZm3hpFES1c9WMCCKIq0G81lRur8ToihS/uI8GjduwuuJJ3Cd\nOLHdfQRBwPWGcCwNrTQfLEcR7ILbzRHIPS+fP1hZ2fcoFB5otYMu2zEvJQZDMXl5CykrX4NUqiKu\nx3t4edk70tmxY6d97OLsElFjqGHmzpkcqTzCPXH38FDPh5BKpKQ36tlSo+OJEB/UsnMjY9dqXZgb\n7s/sUyUsyC3juW5+f2ge+oZ61r/9KhoPD67zP4Xw/WsQ2B9uWoRJ7c/H9avZHxTFDZXbeT99BXLV\nAgi/ts2x8qub+XpTFlell9EfZ5SSdCRJerTjXwPpxQsZQSZBGaJBGaLBarGy7t1jNOc2MHhIAGpX\nJTJ3hzOCTOIkbzOnyVJ50Yc/dz6C8LcVZgBVby+k/ptv0P7732indbxZ8/+3d9/xUVXpH8c/Z2oy\nk957CEnooUiRXmywIhZcRMXdtbBi2bXvimLvgl0BCwri2kHXgq5l/aGoIOAinUACIQmk92SSSTJz\nfn9MRJrUJDOB5/16hbm5mdz73Bwm8825956jjIrwKd1w7qjGmhbSrr1l5eU/sGnzbQBERJxOetqd\n2Gyd2m3/x8PpLCEnZza7dr+DUgaSkq4kOWkaFkvbjb0nhDixSDhrBU6Xkz9//meKHEU8PuJxzu78\n2wjfT+8sItBoYGrC74/pNDUhgm2OBl7ILSbNZuXi2CMf2d7d6AKtMVhNuN0uljw3k4aaai7pvhPr\n1p0w5i4YfjMYTdy1fA3fJ3XlTLuZOf0yMP3nX/CvC6HreBj3CIR2AiCzsIY532wjYF0JV2PBhCIw\ncCGBl12JSj74dUrHavm/t5O3pZIxl3UjbvjxBVNxoLL5Cyh76SVCLrqIyFtuPurvV2Yjfl2ObgiU\n4+VyNbAl8y78/ZOJi5tMTs5sVvz0B5KSrqRT8nV75jv0NU1NlezMfYW8vAVo3Uxc7CQ6pfxNhskQ\nQhw1CWetYNHWReTW5DL3jLkMjx++Z/2WunqWlFRxU3I0weaWH7XWnuEnnDXQWAvOapSzloddNeSY\nQvnHlp0kb/uIIY154BcMycMgri8YzWiXm6YiB415NTTl13oei+pQJgMhE9NZs/kzcjesY2zsVqKC\nAmDiV5DQn4219TyxI4/PGxQZlcW8NvIMTMae0HkkrJgD386CFwbB8Jt403wB8z7N4X5lojM2/AzL\nCe29G+P5T3jqaUVbVxbyy1e59BoVTw8JZq2ucvEHFD/+OIHjxhFz7z0d5q7KnJwXqK/PpV/fhYSF\nDSM25gKys2exc+eLFBZ8SFra7URHn+szx9PcXEde/gJyc1+hubmWmOhzSUm5ocP09AkhfI+Es+PU\n0NzAvPXzGBA9YJ9gBvBsThE2o4G/JkR6VtQUwpuToHDdAdsxA68YAzin3xyutKSy5H9PkeRoolH/\nl0Z60mjqS5MzBu32nBo12EyYEwIJ7BGGc0cVFe9m0lRdRUZwCb1OGwdjH2Fzk5EnNuxgSUkVdgUD\nd2zizp5pmFtuSsBk9fSq9Z4MX96NXvoEo5qLGcH5mKgjxP8V/CdORmX8s9V/biW5NXzzxhbi0kMY\nflF6q2//ZFfz9dcU3H039qFDiZv5OKoVbzZpS7W1mezMfYXYmImEhQ0DwGqNokePWcTHX0rm1vvZ\nuOkW8nf9iy7p9xAUlOG1Wt3uRvJ3vUlOzhyamsqJiDiD1M63EBDQ1Ws1CSFODBLOjtP7W9+ntL6U\nmSNn7rM+29HAR8WVXJMYRbjF5BnG4vVz0dWFMHoGyh6OtgThJoBmRwDNDj+oMfFsleKSKM2lvRYy\nf0Udgc2gDM2YVR529QkW81YsljyMScmolOGQPJxKvZKNa52kBw3BFJ7BhoH9eWZbCZ+WVBFgUJxR\nXUTiutXEhwZzSt8+BxyDDozlFX0zfZyTiMeO3fAdISlrME56GkISW/1n5qhu5LMX1+EfYGbsX3th\nNMqQAq2pbsVP7Lr5FvwzMkh4/rk9A8z6Oq3dbN4yA5MpkLS0Ow74enBwPwYO+ICCgsVkZc9i1eoL\niIu7iNTOt2KxtN0k9wdTXv4DmVvvw+HYTmjoEFI73ybT/AghWo2Es+NQ31zPq+tf3TNa/96e21mM\n1aC4NikSKnLQCyaweTdk1V9J5IdhhNqj8CcQo/vXHo0GMCjiwvx4Rlm5OsbFn84IZlCgnb6RgfQO\nGkgvwzhs+csh5wfY+QN88xDNbsWnO/tQ2RyIbeLpzC7TfLV5OzaDgXMaq4lc/T3BRgOjzjiNgQMH\nYjLt2+SuRhefvvQ/ztpVT6M5gNBJ6dhDrRA/HQyt39vicrn54pUN1Nc0MfG2U7AFdYzg0FHUr11L\n/nXXYenUicSXXsRg983rsw5m1663qK5eQ4/uT/zuxfNKGYiLm0RU1Dh27HievPzXKS7+jOTka0mI\nv7TNR9t3OovYtu0Rioo/xd8/iT695xERMaZN9ymEOPlIODsO72W+R1lDGU/0eWKf9TvrnSwqKufK\n+Agiq3ey64U/snRnJEpnMCLmLJqNzdS4yims2UF1Yxm1TRU0mp0EJkcTFZ9KWud0XohI4P0aJ8tq\n6vgguwYApTUxzVEk1o8mxtiVML2d4J3bqPGzkTvlbzzsMuIfrRifX0rsjtWYXA0MGDiA0aNHYz/I\nm3T9zioy52+gf4Ob7Cg/hk/ri9FuAaLb7Gf2w6Isdm+r5IwrenTouSl9jXa7KX99ISVPPYUpOprE\nefMwhhz91GDe0uAsJCt7FqGhQ4mJOf+wzzeZAklPv5O4uIvYtu1hsrNnkpMzh/i4ySQmXo6fX+te\nw+h2N5Ofv5DtO55F60ZSUm4kOWkaRuOJMxaeEMJ3SDg7Ro4mB69teI1TY05lQMyAfb72Qm4xRhR/\natjJJ3fdwdaKBKJDExkZcSGWqAASru2DMhtxNTdRmpdL0fZtFGZtIy9nO1nfLqV5xUpc/na6KEW3\nBgcNQIk9iNKgcEqi48mMiGNlehyk9wdAofHTRibbIHrVMpylJXSyx9G/PInY4gT81b69U7rJRfmX\nOdQt243GzY99w5g0uVebX2C9+cfdrP+/fPqckUjXU+UOttbSVFRMwR13UPfjjwScfjqxDz2IKbR9\n77A8Xlu3PoDWTXTr+uBR/T+029Po23c+1TUbyM19lbz8BeTlLyAqajxJSVcRFNjruGurrFxNZuY9\n1NZlEh4+ii7p92KzJR/3doUQ4vdIODtG72W+R3lDOdf1vW6f9bsaGnmnoIwxlXl89uJclApg6Fnj\n6FR5KtrRTPifeqDMRhwOB/n5+eTn55OVU0hhSQ1uazDEBNOkFY5GBdpNSGggJnczsUCso5qwKhOx\nNgO2IEVVWBQFVhu1jnrC1qygbEc2QZGRjL3sMlJTU6n7qYDKT7ZT9Nwawi/rjiUhEOfOasre34q7\ntJ4lNGIf24k/j0lt859X4Y4qlr6VSUK3UIZe0Pb7O1nU/Pe/FMy4C3dDAzH330/IRZN85i7GI1VS\n8hUlJV+Q2vkfx3yHY1BgL3r1fJqG1H+Ql7eAXbvfoajoY0JDh5CUNJXwsFFH/XNpbCwlK2smBYWL\nsVpjyciYQ2TEWR3u5yuE6HgknB0DR5OD+RvnMzh2MKdEn7Jnvdvt4oEfV+PSVjp98i5dwx0Mu/kJ\nmpbbqC8rI+jP3fjvym/ZuGkz1VWVgGf6yQq3PyXuYBzmYEUO0noAACAASURBVJKSEhjQNZlBKeEs\n+CGH+avzOKdHGNcNCqO0uIiCggLy8/Op2rhxn5rqbTbGjx/PKaecgrHlzryAwXFY4gMp+9dmiueu\nxb9HOPXrSyk3woPUMenCnlw0sPUv+N9fXZWT/7y4HnuwlbFTe2GQGwCOm7u+nqLHHqfy3Xfx69GD\nuCdmYe3c2dtlHbXm5loyt95HgL0rSUlXHff2/PziSE+/k06d/sbu3e+Ql/86a9dehd2eTlLiVKKi\nxqGUAa1daO1Gaxfg3rOstRtwU1b2Hdnbn8DlcpCcNI2UlL9hNLbf7AhCiJObhLNj8G7mu5Q3lHN9\n3+v3rMvbtJ6P3n6DT0dOYuCOVVybkkns3z6geo2mfuNO6obbef8/b1FZWUGeK4RidwJOawhdUhI5\nNS2awZ3DSY8K2Oev8scuzCA1ys6jn28hr8bNK38exMiRfgA4HA4KCgooKChAa83AgQPx8/M7oFZL\nYiBRN/Sj/J0t1K8v5Vs7POao4ZFL+jKhT9uPLdbkdPH5i+tx1jdz4T8H4Bdw4o7E314aNm1i1623\n0ZiTQ/jUq4i84QZUB7kjc3/Z25/C6Swio9cLGAyt93/DbA4iOflqEhMvp6hoCbl589i85XY2b7n9\niLcRGjKYrl3vx25Pa7W6hBDiSEg4O0qOJgfzN8xnaNxQ+kZ5bp3PXP49S56dyfejJqCNRp7WnxB7\nw8fUF1ip+HI96+OL+PnnzTiwsNzVnT+fNZCRXSIPCGP7U0px9chUksPt3PTOL5z/wg+8evlAuscG\nYbPZSE1NJTX18KcIjXYz5Wcnc/eb5aytdDD3L/05rVvbXfT/q+ZGF0vmrKM4p5qxV/ciIuHY58Ls\naJpLSjCGhqJMrfcS02435fMXUPzMM5jCwkia/xr2wYNbbfvtrap6Lfn5C0mIv4zg4H5tsg+DwUJs\n7AXExJxPRcWPVFevQykDKCMKw2/LyohCoZQRlAGrJZqwsOFyClMI4RUSzo7S21vepsJZsedas6xV\nK/js+VkEpSazJj2DidWr6TxlAc0NAWS9vYxvbRsoLasmV0Wxnk68/Nch9Es6uou1x/aM4f1rhnDV\n66v449wfef7SfkcUrrTWfJ9VyivLdvDd1hICrCYWXDGIIaltPyaUq8nN5y9tYNfWCs74S3dS+0W1\n+T59QWNODsVPPkXNV19hSUslevodBAwfdtzbbSoqYvf06TiWryDwzDOJeeD+DnfR/97c7ia2bLkT\nqzWa1NRb23x/SinCwobtGdhWCCF8mYSzo1DXVMeCjQsYFj+MPpF92PHLz3z6zGNERgTxY3JfGgxW\nruk/nmZjCF/P+5CVbMZk9OP7pi7U22J456pBpEYeW+9Rr/hgPrp+OFMXrmLq66uZMb4HVw7rdNC/\n7Bub3Xy8djfzlm1nS2ENkYFW/jG2K1NOTSLE1vanv1wuN1/M20DuxjJGT+lK18Gxbb5Pb2uuqKB0\n9hwq3nkHZbEQ9pe/UPPNN+RNnUrA6NFE3f5PrCkpR73dxvxdlM+fT+WiRWAwEPvQgwRfeGGH79HJ\ny3uN2totZGTMafOxyYQQoqORcHYU3t7yNpXOSq7rcx25G9by8RMPE2w3syJxIh917kT3vEaWfrCW\npRHbKKWC8JAEXiyOJCk6jDevGEh00IHXhB2NmGA/3ps2hFveXcuDn24iu6SW+8/tuWc6pkpHI2/+\nlMvrP+ZQXOOka3QgM//Ym/P6xmE1tc/0PW6Xm69f28SOtaWMmJxOzxHx7bJfb3E3NFD+xhuUvfQy\nboeDkEmTiPzb9ZgiI4m89RYqFi6kdO6LbD/3PMKmTCHiumsxBh1+fDfntm2UzZtH1adLwGAg+NwJ\nREybhiUpqR2Oqm3V1+eyfcdzREacSVTkWG+XI4QQPkfC2RGqbaxlwcYFDI8fTliZkcWP3422+bFw\n+HVsTgzgVLOVvybU88uOn1EaUh3dKCiK4PwIC1PP7kVUYOsMVmmzmHjyvF6kaSMrv93NI6vK6Rkf\nzMYIxTsbCqhvcjEiPYJZk/owMj2iXXtYtFvzzcItZP1czNCJafQe0/Z3gnqLdrup/vRTip9+huaC\nAk/v2G23Yk377eJxg8VC+NSpBJ9/PsXPPEP5669T9dFHRN54AyGTJh10vsv6X36h9OVXqP3mG5S/\nP2GXTSHsiiswx5wY48K5XA42b5mBUia6dLnX2+UIIYRPknB2hN7e8jZVziqmBE/gw0fuYVd0Mh+O\nnoLD38h1gX502rKa1VlZxLlD6RTQh0dr6zkz3EpCRTOfPbmG8Hg7XQfH0mVQNPbgIwtqWmtqyhso\nzaulJK+G0rxaSvNqqK1w4g+Mwkx1YzP55WXYFPwxI5xLL+hK99j2H3lfa83StzLJ/KmQQRNS6HdW\nx+/h+T11K1ZQPHMWDZs24dezJ3GPPYb91EG/+3xTRARxDz1E2KWXUvTIoxTedz8Vb71N9J13YB88\nGK01dd//QNkrr+BYuRJDcDAR119P6GVTOvR1ZXvT2kVBwQdkb3+KxsZiunV9CD+/E/90txBCHAsJ\nZ0eg3l3Pgo0LOMNvMD/Pfo3v+ozhx77DiGxq5srSbJzLNrDLYmUIXYkwJDKlvIqLR3Vi+jk9aKxv\nJmt1EVtWFPLj4iyWf5hNQKiVPR1aSqEAFHt6uZTy/OOoduKsa96zLiTaRmxaCJGJgUQkBRCZEMiG\n0hqWrykkYl01tnU1lIQXkj7RjsncPqcxwRPMlr23jU3f76b/uGQGnN2p3fbdnlyVleyefge1S5di\nioslbtZMgsaPRxmObNw2vx49SHpjITVffEnxrFnkXn4FAaNH01xcTMOmTZiio4mafjuhkyZ1qDkx\nD6es/Huysh6ltnYLQUH9yMh4gZDg/t4uSwghfJaEsyPwbfW3GMrqCdnYxMKxl7MrJoG+5cWcsmkl\nBrOZYcmnkFYYTlOjm8vd1dw4rhvXjOqMUgo/u5leoxLoNSqBisI6Mn8qpKa8ATRo3bKDlgXd8o9u\nWYhNDSYyMYCIxEDC4wMwWw8MXAMCwhjQKYzmc1ws/zCbdd/ks3trBWdd1YuwuLZ/g9das/yD7D3T\nMp16XucOf7H6wbidTvKu/xsN69YRdduthP7pTxisR3+qWilF0LixBIwZTfmC1yl96SXMkZHEPvQg\nQeeei6GDjld2MLW1mWRlPUZZ+Xf4+SXSq9fzREX+4YT8/yGEEK1Jwtlh1DTWsGrXt3Qp+gOvnX8u\n2mDgjE2r6F1RRi93Kt0rYzFVGskyNvOcbuCWSb35Y/+Eg24rNMbO4PPaZuoik9nIiIu6kNg9jG8W\nbua9R1cxfFI6PUfEtemb4cpPd7Dmq1x6jYpn2IVpJ+Qbr3a7KbjjTup//pm4J58gePz4496mwWol\nYtrVhE+9ytN7eoS9bx2B01nM9u1Ps7tgkWeC8rQZJCRMwWCQScKFEOJISDg7jJe/fAHldyNLTutG\ndHU5EzatZ2RtFImuNFajmUkjG/0gMSGIW0b1YER6pFfr7ZQRweS7BvHfBZv49q1M8jaVM+ZP3fCz\nt87o6263pqG2CUe1k+z/lbD6sxy6D41l5OQuJ2QwAyh59jmqP/uMyFtuaZVgtreD3RTQUblcDtz6\nY5av+DtudxOJiZeT0ul6zOYQb5cmhBAdioSzQ3jz7bdYGNWP4pQoxtZ8w8TSzdQGR5MZo9ga7U9K\nbArTEzuRFB7kU8HEHmxlwt/78st/81jx72zeeXAlZ17Rg/iuB7+4XLs1zvpmHNWN1Nc04qje76Oq\nEUe1E0eV5+t7TscC6QOjGX1ZN5TBd46/NVUuWkTZSy8RMmkS4X+d6u1yvM7tbqaxsZj6+nwaGnbt\n81FTuxmtywkP+wOpqf/AZkv2drlCCNEhSTg7hMRwTUhzDVfW/4verMbdyUWAcrNnUIMKyKpQ5FrC\nsVqjSen0dyIjz/RmyXsog6LfmUnEdwnhy1c38u9n1tBzRDxmiwFHTSP1NU17glhDTRNutz7oNmxB\nFmxBFuwhViKTAj3LwVbPY6iV6OSgEzaY1X7/AwX33od9+HBi7rnbpwJ4e6mtzSQ37zXq63NpaNiF\n01nYMln4byyWCPz84gkLG0ZJcS8yMiTECiHE8ZBwdggjz5rCUq1ZPreU2K/rqd+8EVPvNIKmTcaY\nkUhjYzFOZzHOxiIqK1ezYeNNDOj/PoGBPQ7YVlNREdWff07NF1/il9GL6OnT2+U6o6jkIC66cyDf\nv7eNjd/twmQxYAuy4B9oISDUj8ikQPwDLdgCLfgHmfEPtOAfYMEebMHPbj5hg9fhNGRuZdeNN2JN\nTSX+madR5pNrwnat3eTlv05W1kyMRit2e1dCggfg5xe/30ccRuNvgysvLVnqvaKFEOIEIeHsMJRS\nNPboTqdrplHzn/9Q/OyzVFz3OP79+xN1663YTrkEAGdjKatWnce69dcyaOC/MZtDaa6ooOaLL6le\nsgTH6tWgNebERCoWvgEuN9F3zWiX3hiLn4nT/tydUZd2xWg6cS48bytNRcXkTZuGwW4n8aUXMQac\nPBO2g+eC/k2b/0l5+TIiIs6ge7dHsFjafj5WIYQQHhLOjpAyGAg6+2wCzzyTykWLKJk9h52XXkrA\n6acTdfNNWNPS6J0xl9U/T2bN/11K9AcJOL5fAc3NWFJSiLj+eoLOPhtLSieKZ86ifP58lNVK1D9u\na7fTZRLMDs9VW0feNdfgrq4m+c1/YY49uQZKLSn5is1b7sDlqqdr1weJj7vkpDydK4QQ3iTh7Cgp\ns5nQSy4h+LzzKF+4kLJ5r7L93PMInjABd0MDwQ4DlZdshYRCOl3+F4LGj8fards+b3BR//wH2umk\n/LXXMPhZibzhBi8e0bFrKijAFBmJMp0Y/410czO7br0F59atJM6dg1/37t4uqd24XA62bXuEXbvf\nJjCgJz17Po3d3jbDvgghhDi0E+Nd1QsMNhsR11xDyOTJlL30MhVvvokhKIj4cZdgteymaOgX6J7d\n8Is+8A1eKUX0XTNwNzopnTMXZbEScc00LxzFsatcvJiCu+7GnJRIxDXXEjzhnA4d0rTWFD70EHXf\nfkfMffcRMHKkt0tqN9U1G9i48WYcjh0kJ11N5843YzCcOIPhCiFER9Nx3019hCk0lOjptxN5w99R\nFgvKZCLK3UjDmsvYtHk6NnsagQHdDvg+ZTAQe//9aGcjJc88g/KzEn755e1/AMfg12Bm698fV10d\nBXfcQencuURccw3B507okCGt/LX5VL7zLuFTryL04sneLqddaO0iN3ce2dufxmIJp1/fhYSFDfV2\nWUIIcdKTi5BaicFm2xNKDAYLGb1mYzYFsX7dtTQ1VR70e5TRSNyjjxA4dizFjz1O+VtvtWfJx+TX\nYGYfNozEV+eR8sFiEubMxhBgp+DOO8n+w9lULl6MbmrydqlHrOL99ymeNYvAceOIvOUWb5fTLurr\n8/jfmj+RlT2TiIjTOXXQEglmQgjhIySctRGrNZKMjNk0OAvYsPGmA8aG+pUymYh/YhYBY8ZQ9MCD\nVC5e3M6VHrm9g1nC7BcwWK0opQg87TRSFi8mYc4cjEFBFMy4yxPSFi3yakhraNjN7t3vUVW9Fper\n4YCva60pfvZZCu++B/vw4cQ99ugJNY3SwTQ1VbJt2yMsX3EWNTXr6d7tcTJ6vSCj+AshhA/peOef\nOpDg4H507XIfWzJnkL39adJSbzvo85TZTPyzz5B/3fUU3HU3ymIheMKEdq720CoXf+AJZkOH7glm\ne/OEtDEEjBlN7bffUvrCbAruupvSuS8SPu1qgs8/v10n9dbazfoNN1BdvaalPiN2WxqBgT0JDOxJ\ngF9X6p5eRM0HnxH8xwuJvffeE3osM5fLSf6uheTkzKG5uYbY2AvpnHITfn4n192oQgjREUg4a2Px\n8RdTXbOenTvnEhjYk+ioPxz0eQaLhYTnnyNv2jXsnn4HymwhaNzYdq724DzB7K7fDWZ7U0oROHo0\nAaNGUffdd5TMnkPhPfdSPHMWAaeNIWjsWOzDhx9yG61h1+53qK5eQ3r6Xfj5xVFTs5Gamo2UlX9H\nQeEHniedBtYRYbiS6tDFi4mLuwilTqyeM63dFBV9Qvb2J2lo2EV42EjS0qYTENDV26UJIYT4HRLO\n2kHXLvdQW5vJ5s3/xG5LJSCgy0GfZ/D3J3HuHHKn/pX8f95KnNNB8HjvXmB/QDDz8zv8N+EJaQGj\nRmEfORLH8uVULVlCzdf/pfrjTzDYbASMGUPg2LMIGDECg79/q9bsdJaQnT2T0JDBJCZcjlKKqEhP\n0G0qKGDHzVdSp3di/ctomhJcVFaupKjoY8ATpk8U5eU/kpX9GDU1GwkM6En3vo8SFjbM22UJIYQ4\nDAln7cBgsNI7YzYrV53HuvXX0Kf3PJpdNTQ6f5v+qdFZgrOxyPP5tUU0NdVTVHUbQdMfIC5qEqHn\nXYhf1/bt7dgTzIYMOapgtjelFPahQ7EPHYq+7z7qflpJzRdfUPP111QvWYKy2QgYNZKgsWMJGDkS\ng8123HVvy3oYl8tJ164P7jO+XMPmzeRNuwbtcNDl+VexDxkCeK49W7PmMrKyHyMiYgxWa/Rx19Da\nmpqqqK/ficHgh9Hoj8Hoj9FgxWDwx2DY92VcW5tJVvbjlJV9i581jh49niQm+twTrldQCCFOVBLO\n2onVGk1Grxf435oprPhp/8nRDVgsEVitUfhZYwkK6oPFGE5Z7pdUnr2N6srXCHxyAaFl3Qk55wKC\nzxmPKTKyTevdJ5jNmX1MwWx/ymwmYPgwAoYPI+bee3CsWkX1F19Q89XX1Hz+H5SfHyETJxJ1263H\nHNLKypZRVPQJKSk3Yrd33rO+dtn37LrxRgxBQSS/+SZ+XX/rvVRK0a3bw/y08mwyt95H74y5x32s\nrcnhyGH1zxfR1FR20K8rZcZo9MNg8Mdo8KO+IR+TyU5a6u0kJPwFo7FtTyELIYRoXRLO2lFIyAD6\nn/I2tbWZWK3RWCyRLY/hKGU84Pmd026momI52duepOriX6itzaTik0ewPTWTgCHDCT7vPAJPP71V\ngtOvtNZUffBhqwez/SmTCfuQIdiHDCHm7rtx/PwzVR9/TMXbb1P3ww/EPTEL/4yMo9qmy9VAZuY9\n2GwpdEr+bVDfysWLKbjnXqxpaSS+/BLm6AN7xmy2TnROuZGs7JkUF39BVJRvXO/ndJbwyy9XAG56\n9XwOlMLtqsflasDlrvcsuxtwuX5bjooeT3LSVZjNod4uXwghxDGQcNbOgoNPITj4lCN6rlKKsLCh\nhA4aQkXFj2zf/jRVl6zBcaEN55drqP3ndxj9A7EPGYIhOAij3Y6y2TDYbBjsds/jXsvKZMZVWUFz\nWRmusnKay/d/LMdVVoZubPRcY9ZGweyA4zQasQ8ahH3QIILPmcDu6dPJueRSIq+/jvC//vWIr7nL\nyZlNfUMu/fr9C4PBitaa0uefp3TOXOxDhxL/3LOHnMQ8MfEqioqWkLn1XkJDB2M2B7fWIR6T5uYa\nfll7BY1NpfTr9y+Cg/p4tR4hhBDtQ8JZB+AJacMIDR1Kefkytu94lvJzfsE6IZKwDck0fL4VXVuP\n2+HAXVcHWh/Zdi0WjOHhmMLCMIaHYU1PxxgehjkujpALL2yXYLY/++BT6fzRvym8/wFKnn2O2u+W\nETfzcSyJiYf8vtq6bezMfYWYmAsItfen6tMlVLzxBvVr1xI8cSKx99932KEyDAYT3bo/wurVE8nK\neozu3R9tzUM7Ki6Xk7XrplFXt40+vedJMBNCiJOIhLMORClFePhIwsJGUFa2lO07nqWg52r8+yfR\nKeXvxESfj1JGdEPDnqDmdjj2LOumJowhoZjCwzCGh2Ow2/e5YN5XGIODiX/qSQLGjKHwgQfYcd75\nRM+YQfDECw5ar9ZuMrfcjdHgT9i30WybdjquklLMyUnE3HcvIZMnH/FxBgX2IinxKnbmvkx0zLmE\nhQ5p7cM7LK1dbNx0E5WVP9Gzx9OEh49o9xqEEEJ4j4SzDkgpRUTEGMLDR1NW9n9s3/EMmzffTk7O\nHFJSbiAmegImf38ID/d2qccleMI52Pqfwu7bp1MwYwa1S5cS88D9mEJ/u5ZKa83OlU9TWbeK4Lct\nVC57DfuIEYQ9NAX7iBHHNOJ/SsoNFJf8hy1bZnDqoM8wGtuvB1FrzZbMuykp+ZL09LuIiTm33fYt\nhBDCN7TZvfVKqTCl1JlKqYi22sfJzhPSTmPggI/onfEiRqONTZtuZcVP4ygs/Ph3p4zqSMxxcSQt\nmE/UP26jZulSdpx7HrXf/wBNTVT++99k/+kCthfNwbLdRHyny+j8+WckvfIyAaNGHfNUTEajP926\nPkx9/U527HiulY/o0LbveJrdu9+lU/K1JCVe0a77FkII4RvaJJwppUKBT4FBwP8ppSJb1kcrpdbs\n9bxXlVLLlVJ3HWqdODSlFJGRZzJo4Mdk9JqNUkY2brqZn1aOp6j4M7R2H9X2XC4n+givW2sPymgk\n/KqrSHnvXQzBQeRNnUrk7dMpmH4Hpafmgt1In/PeJ3bGDKwpKa2yz7CwocTFXkRu3jxqaja2yjYP\nJy/vdXJyZhMXexGdO9/aLvsUQgjhe9rqtGZv4Bat9YqWoHYK8AXwBOAPoJSaCBi11kOUUq8ppdKB\njP3Xaa23tVGNJxylDERFjSMy8iyKiz9n+47n2LDh7wTYu5KSciORkWcCiubmahoa8qlvyKehYTcN\n9XstN+TT3FyNwWDFYg7HYonAbPE8Wn59NIe3LEfi75/Ubqf9/Lp3J2XRIkpnz2HXmv8RPW00u5se\npVPydQRF9m71/aWlTae07Bs2b7mDAf0/OGCw19ZUWPQJW7c9SGTEmQcMniuEEOLkotqyh0QpNRJ4\nCDgHGABcBHTTWo9WSj0H/Edr/ZlS6mI8oa3f/uu01vP32+bVwNUA0dHR/d955502q/9XtbW1BBxi\nCAZfpbUbzSq0/ggoAkKBeqBhv2dagQggAkU4qGDQ9UA1mmqgCqhp+dj/VKkCooB4FPGgWh6JQqm2\nCzO1tZX422YCGoO6H6XaZlJ1rVfj1nNRahIGNa6N9rERt34WSMWgbm6zY2kPHfW1ciKTNvE90ia+\nqT3aZcyYMT9rrQcc7nlt9u6pPH/6TwYq8LyD3w1cAPy75Sl2YFfLcjme3rWDrduH1vpl4GWAAQMG\n6NGjR7fNAexl6dKltMd+2sZpuN23UlT0CaVl33h6u/zi8fNLwM8/Hn+/BEym4CPqqdHaTXNzFY2N\nZTQ2luJ0FuNwbKe2bit1dVtxOH4B7UbjGbXe5t8Zuz0de0AXAuxdsNu74O+f2CrTCH3zfzejdRF9\n+yxo07sZtR7F+vVZlJV/zKBB12CzdTrs9zQ4C6msWInWTRgM1pYPyz6PymDBaLBS37CLdeteJMA/\nnVP6vY3ZHNRmx9IeOvZr5cQkbeJ7pE18ky+1S5uFM+3pkrteKfUgcBMwR2tduVcIqKXlFCcQgOf6\nt4OtE8fJYDARG3sBsbEXHNd2lDJgNodiNodit6cd8HWXy4nDke0Ja7VbqavbRlX1LxQVf7pXLX7Y\n7WnY7emewNYS3KzW2EMGRK01brcTl8tBff1OtP6M6OgJbT7MhFKKLl3vY8WKsWzJvIt+fd84oM7m\n5loqK1dSVv495eU/4HBkHdU+/PwS6dtnfocPZkIIIVpHm4QzpdTtQIHWeiEQgueU5hil1PVAX6XU\nPOA7YDiwAugDZAL5B1knOgij0UpgYA8CA3vss765uZY6RzZ1tVtbetm2UVH+I4WFH+71vQHY7emY\nTAG4XPW4XI4DPmDvGxv8SU+b0S7H5WeNIS3tdjIz76agYBExMRdQU7Oe8pYwVlW9Bq2bMRishIQM\nIi5uEmGhQzCZAnG5nWh3I263E/fBHnUTEeFjsFqj2uVYhBBC+L626jl7GXhPKTUV2AAMbelJQym1\nVGs9VSkVBCxTSsUBfwAGA/og60QHZzIFEBzU54BR7puaqqir27anp622bivNTVUYjTbMfrEYDf4Y\njTaMJnvLsh2jyYbRYCMzsxmrtW0nf99bfNzFFBV9wtZtD7At62Gam2sARWBgD5ISryIsbBjBwQNk\nknEhhBDHrU3Cmda6Ajjzd742uuWxWik1uuV5M7XWVQAHWydOTGZzMCEhAwgJOey1kQfYunVp6xd0\nCEoZ6N7tETZu+gcB9vQ902lZLGHtWocQQogTn1dnCGgJce8dbp0QvsBmS2HggEXeLkMIIcQJTi64\nF0IIIYTwIRLOhBBCCCF8iIQzIYQQQggfIuFMCCGEEMKHSDgTQgghhPAhEs6EEEIIIXyIhDMhhBBC\nCB8i4UwIIYQQwodIOBNCCCGE8CESzoQQQgghfIiEMyGEEEIIHyLhTAghhBDCh0g4E0IIIYTwIUpr\n7e0ajplSqgTY2Q67igBK22E/4shJm/gmaRffI23ie6RNfFN7tEuy1jrycE/q0OGsvSilVmutB3i7\nDvEbaRPfJO3ie6RNfI+0iW/ypXaR05pCCCGEED5EwpkQQgghhA+RcHZkXvZ2AeIA0ia+SdrF90ib\n+B5pE9/kM+0i15wJIYQQQvgQ6TkTQgghhPAhEs6EEOIEopQKU0qdqZSK8HYtQohjI+HsMJRSryql\nliul7vJ2LSc7pVS0UmpZy7JZKfWJUuoHpdSV3q7tZKSUClZKfa6U+lIp9aFSyiKvF+9SSoUCnwKD\ngP9TSkVKm/iOlt9ha1qWpV28SCllUkrlKqWWtnxkKKXuV0qtUkrN9nZ9Es4OQSk1ETBqrYcAnZVS\n6d6u6WTV8qbzOmBvWfV34Get9TDgj0qpQK8Vd/KaAjyltT4LKAQuRl4v3tYbuEVr/TDwBXAa0ia+\n5AnAX95bfEJv4G2t9Wit9WjAAgzH84dNsVLqDG8WJ+Hs0EYD77Usf4mn4YR3uIDJQHXL56P5rW2+\nA3xi4MCTidZ6jtb6q5ZPI4HLkNeLV2mtv9Var1BKVDF1wwAAA39JREFUjcTzJjMWaROfoJQ6DajD\n84fMaKRdvG0wcI5SaqVS6lXgdGCx9twl+QUwwpvFSTg7NDuwq2W5HIj2Yi0nNa11tda6aq9V0jY+\nQik1BAgF8pA28TqllMLzh0wFoJE28TqllAW4G5jeskp+f3nfKuAMrfUgwAz440NtIuHs0GrxNBhA\nAPLz8iXSNj5AKRUGPA9cibSJT9Ae1wPrgKFIm/iC6cAcrXVly+fyWvG+dVrrgpbl1fhYm8h/iEP7\nmd+6m/sAOd4rRexH2sbLWnoD3gfu0FrvRNrE65RStyul/tzyaQjwGNImvuAM4Hql1FKgLzABaRdv\ne0Mp1UcpZQTOx9Ob6TNtIoPQHoJSKghYBvwX+AMweL9Ta6KdKaWWaq1HK6WSgc+Ar/H0DgzWWru8\nW93JRSl1LfAIsLZl1XzgFuT14jUtN868B1iBDcAdeK7JlDbxES0B7VzkvcWrlFK9gLcABXyM57Tz\nMjy9aOOAcVrrHV6rT8LZobX8sjsT+E5rXejtesRvlFJxeP7S+UJ+sfkGeb34HmkT3yTt4nuUUv7A\neOB/WuvtXq1FwpkQQgghhO+Qa86EEEIIIXyIhDMhhBBCCB8i4UwIIYQQwodIOBNCCEApdYNSKnG/\ndSOVUv1blkOVUqcppWYopbp4p0ohxMlAwpkQ4qSjlBqolLpQKTV+r9Vmfpu7FaVUNJ5R9gOVUj2A\nUUAWUIqXp3YRQpzYJJwJIU5GFwCfAhfuta4SiFJKDVVKmVo+vwIowvO7MhRIBna0fAghRJswebsA\nIYTwgt20DNSqlLoRT/jqgWdU/a1AmNa6WCm1HRiDZ3DKHUBPYDN79bAJIURrk3AmhDgZWfGEMY1n\nlHYDkA9s0lpvBFBKWYEmoAoYCGQDdUAjEOuFmoUQJwk5rSmEOBk5tdYr8Ex0vB0YhGcaF8tez4kF\nHC3rLMDpgBNPYAts12qFECcV6TkTQpyMuiulLgZsWmsHME8pNYV9fycOAIqB/9FyYwCeP2i74Al1\nQgjRJqTnTAhxMnpIa/0O8DKAUioJuAjPactfbQG2aq1LtNbNWusKoAG4F8+pTiGEaBMyt6YQQgBK\nqTuAx/RhfikqpcYCG7TWu9qnMiHEyUbCmRBCCCGED5HTmkIIIYQQPkTCmRBCCCGED5FwJoQQQgjh\nQyScCSGEEEL4EAlnQgghhBA+5P8BnoWRJBMlyKUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20bfbad3f28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from time import time\n",
    "np.random.seed(2018)\n",
    "t0=time()\n",
    "S0=3418.33\n",
    "T=1.0; \n",
    "r=0.05; \n",
    "sigma=rets.std()\n",
    "M=50;\n",
    "dt=T/M; \n",
    "I=250000\n",
    "S=np.zeros((M+1,I))\n",
    "S[0]=S0\n",
    "for t in range(1,M+1):\n",
    "    z=np.random.standard_normal(I)\n",
    "    S[t]=S[t-1]*np.exp((r-0.5*sigma**2)*dt+\n",
    "          sigma*np.sqrt(dt)*z)\n",
    "s_m=np.sum(S[-1])/I\n",
    "tnp1=time()-t0\n",
    "print('经过250000次模拟，得出1年以后上证指数的预期平均收盘价为：%.2f'%s_m)\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "plt.figure(figsize=(10,6))\n",
    "plt.plot(S[:,:10])\n",
    "plt.grid(True)\n",
    "plt.title('上证指数蒙特卡洛模拟其中10条模拟路径图')\n",
    "plt.xlabel('时间')\n",
    "plt.ylabel('指数')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x20bfc3c2908>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20bfb5a0f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,6))\n",
    "plt.hist(S[-1], bins=120)\n",
    "plt.grid(True)\n",
    "plt.xlabel('指数水平')\n",
    "plt.ylabel('频率')\n",
    "plt.title('上证指数蒙特卡洛模拟')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
